私はJUnitのテストケースを書く必要があるメソッドを持っています。プロジェクトのメイン処理メソッドを呼び出すだけで、それ以外は何もしません。また、メイン処理メソッドの戻り値の型もvoidです。JUNIT voidメソッドのテストケース
このような「方法1」はどのようにテストしますか?
クラスを考えるとpublic void method1() {
obj1.mainProcessingMethod():
}
私はJUnitのテストケースを書く必要があるメソッドを持っています。プロジェクトのメイン処理メソッドを呼び出すだけで、それ以外は何もしません。また、メイン処理メソッドの戻り値の型もvoidです。JUNIT voidメソッドのテストケース
このような「方法1」はどのようにテストしますか?
クラスを考えるとpublic void method1() {
obj1.mainProcessingMethod():
}
:このクラスの試験で
public class A {
private Obj obj1;
public void method1() {
obj1.mainProcessingMethod();
}
public void setObj1(Obj obj1) {
this.obj1 = obj1;
}
}
、テストするための唯一のものは、方法obj1.mainProcessingMethod()
が正確に一度だけ呼び出されたかどうかを検証することでしょう。
これはMockitoで実現できます。ここで
import org.junit.Test;
import org.mockito.Mockito;
public class ATest {
private Obj obj1 = Mockito.mock(Obj.class);
private A a = new A();
@Test
public void testMethod1() {
a.setObj1(obj1);
a.method1();
Mockito.verify(obj1).mainProcessingMethod();
}
}
あなたは、クラスObj
のモックオブジェクトを作成A
のインスタンスに注入し、後でそれが記録されたメソッド呼び出しをチェックするためにモックオブジェクトを使用します。
もしなければなりません。疑似オブジェクトを挿入するのは良いアプローチです: '@Mock Obj obj1; @InjectMock A a'' –
@SergiiGetman、良い点ですが、このテストクラスには、この作業を行うために '@RunWith(MockitoJUnitRunner.class) 'というアノテーションを付ける必要があります。 –
mainProcessingMethod():メソッドがオブジェクトobj1に対して呼び出されたことを確認する必要があります。
あなたはメソッドが何をするん
Mockito.verify(yourMockObject);
のようなものを使用することができますか?メソッドの結果/結果は何ですか?それはファイルを書きますか?それはデータベースを変更しますか? –
これは別のメソッドを呼び出すだけです。他には何もありません – earl
まあ、_something_ –