私はJUnitテストを書いており、Mockitoも使用しています。メソッドを呼び出すと、回。単体テスト中に2番目のメソッドを呼び出すことは望ましくありませんが、私はそれがどのようなものだったのかを知りたいと思います。単体テスト中にメソッド呼び出しが試行されたが、実際には呼び出していないが、実際には呼び出さない
public class MyClass {
public void myMethod() {
int a = [do some logic]
int b = [do some logic];
doSomething(a, b);
a = [do some logic];
b = [do some logic];
doSomething(a, b);
}
public void doSomething(int a, int b) {
// code that I do not want to be executed during a unit test
}
}
そして今、ユニットテスト:
@Test
public void test() {
MyClass myClass = new MyClass();
myClass.myMethod();
verify(myClass).doSomething(17, 33);
verify(myClass).doSomething(9, 18);
}
私はMockitoに新しいですし、どちらかA)doSomethingのを防止することができるかどうかはわからないテストするために私のコードは次のようになります()を実行し、B)& b引数の値を確認する。私は "Mockitoはあなたをここで助けることができない"または "これは技術的に可能なものではない"のような答えを受け入れることを望んでいます。このような事態を模倣する方法がない場合、私はそれらのロジックブロックを直接テストできる方法にリファクタリングすることを検討するかもしれませんが、私のコードはこの単純な例よりも複雑であり、コードをオンラインで投稿することはできません。
をあなたは便利なこの質問への答えを見つけることがあります。 ます。http:// stackoverflowの。 com/questions/1087339/using-mockito-to-test-abstract-classes – tjdett