@Mock对象实例为null

时间:2017-05-02 09:50:37

标签: java junit mockito

@Mock对象实例为空。

我这是我的测试类

@Mock
private SchoolRequest schoolRequest;

@InjectMock
private FormRequest formRequest;

@Before
public void init(){
     MockitoAnnotations.initMocks(this);
}

Class FormRequest {

@Autowired 
private SchoolRequest schoolRequest;


}

此应用程序正常运行,但在测试用例中schoolRequest将为空。有关它可能发生的原因的指针吗?

2 个答案:

答案 0 :(得分:3)

我认为你在课堂上缺少@RunWith注释。每当你想使用@Mock注释时,你应该使用MockitoJUnitRunner。

@RunWith(MockitoJUnitRunner.class)
public class MockitoTest {
@Mock
private SchoolRequest schoolRequest;

@InjectMock
private FormRequest formRequest;

@Before
public void init(){
     MockitoAnnotations.initMocks(this);
}
}

我希望这对你有用..

答案 1 :(得分:1)

我不知道原因,但这有效。

private SchoolRequest schoolRequest = Mockito.mock(SchoolRequest.class); 

可能有人可以评论为什么这有效。 @MockMockito.mock之间有何区别?我以为他们是一样的。