我最近发现了用于 MVC 测试的 Spring 项目:spring-test-mvc。这是一个很棒的工具,我计划在未来更多地使用它。
但是我注意到我的 Jenkins CI 有一个问题。问题是,当 MVC 集成测试在本地通过时,甚至在 Jenkins CI 作业中,问题出现在 Jenkins 的 Sonar 插件执行中。在这种情况下,我尝试使用“.andExpect()”方法完成的所有断言都失败了。是的,如果不使用 Sonar 插件,它们会通过。
例如
this.mockMvc.perform(get("/someController/some.action").param("someParam", "someValue"))
.andExpect(status().isOk())
.andExpect(content().type(MediaType.APPLICATION_JSON))
.andExpect(request().sessionAttribute("someAttribute", notNullValue()));
在上面的测试内容类型和会话属性断言失败。有任何想法吗?提前致谢。