Spring Boot + TestNG + MockMVC 为@Autowired 提供 Null
Spring Boot + TestNG + MockMVC gives Null for @Autowired
我是 Spring-Boot、TestNG 和 MockMVC 的新手,当我尝试编写 TestNG 测试用例时,它为以下内容提供 Null:
@Autowired
private WebApplicationContext webApplicationContext;
并且它为
提供空值
@BeforeTest
public void start()
{
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
}
此外,基于之前来自 Whosebug 的 post,通过移动
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));
}
任何 link 或共享的工作示例都会有很大帮助。
谢谢
如果你想自动装配 WebApplicationContext
,你的测试 class 应该用 @ContextConfiguration
和 @WebAppConfiguration
.
注释
您可以找到一个示例 here(Spring Framework 的官方存储库)。
我是 Spring-Boot、TestNG 和 MockMVC 的新手,当我尝试编写 TestNG 测试用例时,它为以下内容提供 Null:
@Autowired
private WebApplicationContext webApplicationContext;
并且它为
提供空值@BeforeTest
public void start()
{
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
}
此外,基于之前来自 Whosebug 的 post,通过移动
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));
}
任何 link 或共享的工作示例都会有很大帮助。
谢谢
如果你想自动装配 WebApplicationContext
,你的测试 class 应该用 @ContextConfiguration
和 @WebAppConfiguration
.
您可以找到一个示例 here(Spring Framework 的官方存储库)。