如何使用Mockito框架编写单元测试?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
使用Mockito框架编写单元测试时,通常遵循Mock-DO-Verify的编码范式。首先,通过@Mock注解模拟依赖类,并使用@InjectMocks注解注入待测试类;在setUp方法中初始化Mockito注解;在测试方法中,通过when().thenReturn()等方式模拟依赖方法的行为,调用被测试类的方法,最后通过Assert和Verify校验结果和链路执行的准确性。例如:
java
public class Test {  
    @Mock  
    DependencyClass dependencyClass;  
    @InjectMocks  
    TestClass testClass;  
    @Before  
    public void setUp() {  
        MockitoAnnotations.initMocks(this);  
    }  
    @Test  
    public void testMethod() {  
        when(dependencyClass.someMethod(any())).thenReturn(mockData());  
        Result result = testClass.testMethod();  
        Assert.assertEquals("some expected result string", result.getModel());  
    }  
}