@Mock对象实例为空。
我这是我的测试类
@Mock
private SchoolRequest schoolRequest;
@InjectMock
private FormRequest formRequest;
@Before
public void init(){
MockitoAnnotations.initMocks(this);
}
Class FormRequest {
@Autowired
private SchoolRequest schoolRequest;
}
此应用程序正常运行,但在测试用例中schoolRequest
将为空。有关它可能发生的原因的指针吗?
答案 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);
可能有人可以评论为什么这有效。 @Mock
和Mockito.mock
之间有何区别?我以为他们是一样的。