コントローラーが正しい引数でサービスメソッドを呼び出すことをテストしたい。それをする最善の方法は何ですか?Grails mockForとメソッドの最適なテスト方法正しい引数で呼び出される
現在の計画では、mockForを使用して、クロージャーで渡された値をチェックします。mockForまたはmockitoを使ってこの同じメソッドを実行するのに似たようなテストを行う良い方法がありますか?呼び出し引数の値のテスト?
class HappyControllerTests extends ControllerUnitTestCase {
:
void testSomeValue() {
def mockControl = mockFor(HappyService)
def givenSomeItem = null
mockControl.demand.serviceMethod(1..99) { String someItem -> givenSomeItem = someItem; }
controller.happyService = mockControl.createMock()
controller.someAction()
mockControl.verify()
assertEquals("specific value", givenSomeItem)
}
}
ありがとうございます!私はで動作するように簡単に、より強力であることをメタクラスのものとas ClassName
に組み込まれているグルーヴィー見つけるよう
私は「テッドNaleid」からの回答が好き。しかし、IMHOの大規模店では、mockFor(..)を使用する必要があります。http://grails.org/doc/latest/guide/9.%20Testing.html#9.2統合テストを参照してください。 "...これらのメソッドを使用すると、与えられたクラスには他のテストに漏れません.. " – finneycanhelp