1
私はSpockを使用していますが、テストするクラスはSpyでラップされています。 テストされるメソッドを分離したいので、テストされているメソッドから呼び出される他のメソッドをスタブアウトしようとしています。 通常、私はこのようなものを使用します。SpockでSpockオブジェクトのvoidメソッドをスタブで
1 * classToTest.methodName(_) >> stubbed_return_value
私の問題はこれです:methodName
はvoidメソッドです。 私はこの試みた:
1 * classToTest.methodName(_)
を実際の方法は、まだ呼ばれています。
Spockを使用してvoidメソッドをスタブアウトするにはどうすればよいですか?
Spockで私はプライベートメソッドを模倣することはできません:私はスパイで通常と同じように実行されます。私はあなたのスパイからそのようなメソッドを呼び出すことができるという意味で、テストコードでこのSpockの "制限"を発見しました(実際にはテストの意味がないからです)。 Spockがこれを許可しないか、エラーとしてフラグを立てる可能性があります。 –