【发布时间】:2019-04-02 04:29:58
【问题描述】:
我的一个 Spring boot 控制器方法调用了一个静态方法。我想使用 powermokito 测试控制器。 在下面找到相同的代码。 尝试调用 mockMvc.perform() 方法时出现错误 @RunWith(PowerMockRunner.class)
@PrepareForTest({StaticClass.class})
public void StaticClassTests()
{
@Autowired
private MockMvc mockMvc;
@Test
public void testStatic()
{
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
PowerMokito.when(StaticClass.getList()).thenReturn(list);
RequestBuilder requestBuilder = MockMvcRequestBuilders.get("/getlist")
.accept(MediaType.APPLICATION_JSON);
MvcResult result = mockMvc.perform(requestBuilder) //where the error is
.andExpect(status().isOk())
.andExpect(content().json("[\n" +
" \"a\",\n" +
" \"b\",\n" +
" \"c\"\n" +
"]"))
.andReturn();
}
}
StaticClass.getList() 是一个静态方法 我在注释行收到 java.lang.NullPointerException(即 mockMvc.perform(requestBuilder))
【问题讨论】:
-
为什么每条语句之间都有一个空行?它不会使它更容易阅读。
-
对于给您带来的不便,我深表歉意。
标签: java powermock powermockito spring-boot-test