![](/img/trans.png)
[英]PowerMockito mocking static testing controller in spring 3.2.4
[英]mocking a static Spring boot controller method with powermokito
@RunWith(PowerMockRunner.class) @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();
}
}
您應該在調用perform方法之前初始化mockMvc。
// Setup Spring test in standalone mode
this.mockMvc = MockMvcBuilders.standaloneSetup(carSearchController).build();
注意:像在此處為CarSearchController那樣注入控制器
@InjectMocks
private CarSearchController carSearchController;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.