当尝试测试java客户机的方法时,我在reposervice saveandflush方法上收到一个npe。
public class ClientTest{
@Spy
@InjectMocks
private ClientX client;
@InjectMocks
serviceX service;
@Mock
repoX repo;
然后在我期望得到异常的地方进行测试
@Test (expected = Exception.class)
public void test() {
when(ClientX.blabla()).thenThrow(new Exception("400"));
when(clientConfig.getServiceName()).thenReturn("");
ClientX.isStatusActive(id);
}
然后,在clientx的这一行上使用npe测试失败
serviceX.saveError(new Error("BLABLA", e.getMessage()));
有人知道为什么servicex或repox为null/npe吗?
1条答案
按热度按时间pexxcrt21#
尝试在类的顶部添加@runwith(mockitojunitrunner.class),否则mockito将无法创建上下文和mockbeans