我是Spring-Boot,TestNG和MockMVC的新手,当我尝试编写TestNG测试用例时,它在下面给出了Null:

@Autowired
private WebApplicationContext webApplicationContext;


而且它为null

@BeforeTest
public void start()
{
     mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
}


此外,根据之前来自stackoverflow的帖子,通过移动

mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();到@Test的问题也没有解决。

在我的代码段下方

@Autowired
private WebApplicationContext webApplicationContext;

private MockMvc mockMvc;

@BeforeTest
public void setup() {
    mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
}

@Test
public void testEmployee() throws Exception {
    mockMvc.perform(get("/employee")).andExpect(status().isOk())
        .andExpect(content().contentType("application/json;charset=UTF-8"))
        .andExpect(jsonPath("$.name").value("emp1")).andExpect(jsonPath("$.designation").value("manager"))
        .andExpect(jsonPath("$.empId").value("1")).andExpect(jsonPath("$.salary").value(3000));
}


共享的任何链接或工作示例都会有很大帮助。

谢谢

最佳答案

如果要自动连接WebApplicationContext,则应使用@ContextConfiguration@WebAppConfiguration注释测试类。

您可以找到示例示例here(Spring Framework的官方存储库)。

09-13 00:43