spy
spy
@Spy注解与spy()方法
使用@Spy注解与使用spy()方法的效果是一样的。
使用@spy注解时,得注意添加MockitoAnnotations.initMocks(this)。
public class Calculator {
public int add(int a, int b){
return a+b;
}
}
import org.junit.Test;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.mockito.Spy;
public class SpyTest {
@Spy
private Calculator calculator;
@Test
public void spyTest() {
Calculator calculator=spy(new Calculator());
int res = calculator.add(1, 2);
assertEquals(3, res);
}
@Test
public void spyAnnotationTest() {
//没有下面这一行,将会产生空指针异常
MockitoAnnotations.initMocks(this);
int res = calculator.add(1, 2);
assertEquals(3, res);
}
//...
}