Spring MVC测试:如何检查模型属性是否不存在?

时间:2015-05-25 20:22:10

标签: spring spring-mvc junit

我正在使用Spring 3.2.11.RELEASE。我正在使用新的3.2模拟MVC框架进行单元测试,通常我可以使用以下内容检查模型属性...

private MockMvc mockMvc;
…

@Test
public final void test()
{
…
    mockMvc.perform(get(“/mypath”)
                    .param("userId", customerId))
                    .andExpect(status().isOk())
                    .andExpect(model().attribute(“attr1”, “value”))
                    .andExpect(view().name(“my view"));

但我如何调整以上内容以验证属性“attr1”未包含在我的模型中?

2 个答案:

答案 0 :(得分:5)

比马克的方法更简单:

.andExpect(model().attributeDoesNotExist("attr"))

答案 1 :(得分:4)

由于模型属性是在地图中保存的,因此可以检查属性的值是否为null(假设null不是属性的有效值)。

.andExpect(model().attribute("attr1", nullValue());

其中nullValue()org.hamcrest.Matchers.nullValue