用于void方法的JUNIT测试用例

时间:2016-10-19 07:34:21

标签: junit

我有一个方法,我必须编写JUnit测试用例。它只是调用项目的主要处理方法而不做任何其他事情。此外,主处理方法还具有返回类型为void。

我该如何测试这样的“方法1”?

public void method1() {
     obj1.mainProcessingMethod():
}

2 个答案:

答案 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);