我试图在课堂上嘲笑的路线是:
String x[] = System.getenv("values").split(",")
for(int i=0;i<=x.length;i++){
//do something
}
Run Code Online (Sandbox Code Playgroud)
据我所写如下:
@RunWith(PowerMockRunner.class)
@PrepareForTest({System.class})
public class test{
@Test
public void junk(){
PowerMockito.mockStatic(System.class);
PowerMockito.when( System.getenv("values"))).thenReturn("ab,cd");
}
}
Run Code Online (Sandbox Code Playgroud)
在调试时,我在 for 循环行中得到空指针。在代码库中检查 System.getenv("values") 时,仍然发现它为空
请赞成决议
编辑:确切的问题可复制场景:
package com.xyz.service.impl;
public class Junkclass {
public String tests(){
String xx[] = System.getenv("values").split(",");
for (int i = 0; i < xx.length; i++) {
return xx[i];
}
return null;
}
}
package com.xyz.service.impl
@InjectMocks
@Autowired
Junkclass jclass;
@Test
public void junk() {
String x = "ab,cd";
PowerMockito.mockStatic(System.class);
// establish …Run Code Online (Sandbox Code Playgroud) powermockito ×1