Unit testing 模拟嵌套静态类和方法
我有一个静态类和方法,我想模拟从另一个静态方法调用的静态方法,PowerMockito可以吗?我希望有一个带有when()的模拟getServices,并在单元测试中调用getServiceDetail()时返回定义的字符串Unit testing 模拟嵌套静态类和方法,unit-testing,mockito,powermock,Unit Testing,Mockito,Powermock,我有一个静态类和方法,我想模拟从另一个静态方法调用的静态方法,PowerMockito可以吗?我希望有一个带有when()的模拟getServices,并在单元测试中调用getServiceDetail()时返回定义的字符串 public class MyUtil() { private static String getServices() { return System.getenv("MY_SERVICES"); } private static
public class MyUtil() {
private static String getServices() {
return System.getenv("MY_SERVICES");
}
private static String getServiceDetail(String serviceName){
String serviceDetail;
if(getServices() != null) {
...
}
return serviceDetail;
}
}
我试过:
PowerMockito.mockStatic(MyUtil.class);
Mockito.when(MyUtil.getServices()).thenReturn("mysql, rabbit");
您是在模仿
MyUtil
类,还是在尝试测试MyUtil
类?另外,在getServices()中null
检查,是否将servicedeail
设置为getServices()
?这里有很多问题。我不确定您正在测试什么(哪个类、方法等),预期的结果是什么,等等。您能提供更多细节吗?