0
私はgrails 2.5.4とspockフレームワークを使用しています。私はgrails proyectに次のサービスを提供していますspockフレームワークを使用したgrailsサービスメソッドの相互作用のテスト方法
class MyService {
void method1(Param param) {
if (param == null) {
return
}
method2(param)
method3(param)
}
void method2(Param param) {
println param
}
void method3(Param param) {
println param
}
}
すべてのメソッドには戻り値の型がありません。 nullでないparamの場合、すべてのメソッドが呼び出されることを確認したい。
私のテストでは、この
@TestFor(PaymentService)
class MyServiceSpec extends Specification {
void testMethods() {
when:
service.method1(new Param())
then:
1 * service.method2(*_)
1 * service.method3(*_)
}
}
のようなものですが、それは常に法2と法3 0の相互作用を示します。私は彼らが(私はデバッガを使用して)呼び出されて知っている。メインサービスのサービスをモックできますが、メインサービスのインタラクションをテストする方法や、呼び出されたかどうかをテストするためのサービスの特定のメソッドを擬似する方法はわかりません。
私はあなたがこのような何か使用してスパイでそれをテストすることができ.....
私はその注釈が何をしているのか分かりません。明日私はあなたのソリューションをテストし、あなたの答えを受け入れる:) –
それは素晴らしい仕事を!!!ありがとう..私は私のコードのデザインについて新しい質問をする:D –