我有一个方法,我必须编写JUnit测试用例。它只是调用项目的主要处理方法而不做任何其他事情。此外,主处理方法还具有返回类型为void。
我该如何测试这样的“方法1”?
public void method1() {
obj1.mainProcessingMethod():
}
答案 0 :(得分:2)
给出一个课程:
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
的实例,然后使用模拟对象检查它记录的方法调用。
答案 1 :(得分:1)
在测试中,您需要验证对象obj1上是否调用了方法mainProcessingMethod():。
你可以使用像
这样的东西Mockito.verify(yourMockObject);