【问题标题】:Spring Boot + TestNG + MockMVC gives Null for @AutowiredSpring Boot + TestNG + MockMVC 为 @Autowired 提供 Null
【发布时间】:2018-05-25 03:53:14
【问题描述】:

我是 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 问题也没有解决。

在我的代码sn-p下面

@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));
}

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

谢谢

【问题讨论】:

  • 你能包含更多代码吗? (例如类顶部的注释)
  • @TwiN 我添加了代码片段。谢谢

标签: java spring-boot mockito testng mockmvc


【解决方案1】:

如果你想自动装配WebApplicationContext,你的测试类应该用@ContextConfiguration@WebAppConfiguration注解。

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

【讨论】:

    猜你喜欢
    • 2014-12-15
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 1970-01-01
    • 2018-06-15
    • 2012-11-03
    • 2017-04-23
    相关资源
    最近更新 更多