前面都已经讲完了junit,还需要什么?在测试的时候有的对象难以获取,但是又需要依赖这个对象。
举例什么的情况呢?
第二个类的方法需要一个类对象作为参数,而这个参数又很难实现或者又要依赖第三个对象
public NumberTest(A a) {
//对A对象进行操作
}
//将numberTest对象作为参数传入
public int addNumber(NumberTest numberTest){
return numberTest.getA()+numberTest.getB();
}
如上所述,那么测试一个方法就需要创建三个对象,对于单元测试来说就有点太过于麻烦了,所以需要新的测试类库——Mock。
首先依赖的方式:testImplementation ‘org.mockito:mockito-core:2.11.0’
这个类库可以创建一个假的对象,这个对象还可以做对象的事,并且还可以完成验证没有返回值的方法。
首先创建mock对象有两种方法:
第一种通过mock的方法:
Class cls=mock(mock的对象.class)
第二种通过注解的方式:
@Mock
但是要初始化注解:MockitoAnnotations.initMocks(this);
Mock类有两个重要的方法:
verify()是mock中验证没有返回值的测试方法。
when().thenReturn();是将某种方法指定返回值
为什么说两个重要的方法呢?