【发布时间】:2021-03-23 15:56:50
【问题描述】:
我有一个服务类和一个配置类,如下所示:
public class MyService{
@Autowired
MyConfig myconfig;
@Autowired
private WebClient webClient;
private String result;
public String fetchResult(){
return webClient.get().uri(myConfig.getUrl()).retrieve().bodyToMono(String.class).block();
}
}
@ConfigurationProperties("prefix="somefield")
@Component
class MyConfig{
private String url;
//getter & setter
}
}
下面是 Junit:
@Runwith(MockitoJUnitRunner.class)
public class TestMe{
@InjectMocks
MyService myService;
@Test
public void myTest(){
when(myService.fetchResult().then return("dummy");
}
}
当我在服务类的 webClient 上运行此类时,我收到空指针错误。 可能是什么问题。我是 JUnits 的新手。 我该如何为此编写合适的 JUnit。
【问题讨论】:
-
您提出的测试没有什么意义。您只在被测对象上存根了一种方法。你得到了 NPE,这是理所当然的——你用未初始化的成员在被测对象上调用了一个方法。 NPE 涵盖了另一个问题:您正试图在一个非模拟对象上存根方法!
标签: java junit nullpointerexception mockito junit4