Spring MockMvcResultMatchers jsonPath lower/greater 比
Spring MockMvcResultMatchers jsonPath lower/greater than
我正在使用 MockMvcResultMatchers 来测试我的控制器 类。
这是一个示例代码
RequestBuilder request = get("/employee/")
.contentType(MediaType.APPLICATION_JSON)
.accept(APPLICATION_JSON_UTF8);
mockMvc
.perform(request)
.andExpect(status().isOk())
.andExpect(jsonPath("$.total").exists());
但是我如何比较 $.total 值与数字?
我的意思是,有没有办法找出 $.total > 0?
json路径value
方法可以将org.hamcrest.Matcher
作为参数。所以你可以使用 GreaterThan
class:
jsonPath("['key']").value(new GreaterThan(1))
这个 class 来自 org.mockito.internal.matchers
包。
您可以将 greaterThan() 方法与 hasSize() 一起使用。
举个例子,你应该这样做:
.andExpect(jsonPath("$.result", hasSize(greaterThan(0))))
你可以看看hereorg.hamcrest.Matchers
class的其他方法。
我正在使用 MockMvcResultMatchers 来测试我的控制器 类。
这是一个示例代码
RequestBuilder request = get("/employee/")
.contentType(MediaType.APPLICATION_JSON)
.accept(APPLICATION_JSON_UTF8);
mockMvc
.perform(request)
.andExpect(status().isOk())
.andExpect(jsonPath("$.total").exists());
但是我如何比较 $.total 值与数字?
我的意思是,有没有办法找出 $.total > 0?
json路径value
方法可以将org.hamcrest.Matcher
作为参数。所以你可以使用 GreaterThan
class:
jsonPath("['key']").value(new GreaterThan(1))
这个 class 来自 org.mockito.internal.matchers
包。
您可以将 greaterThan() 方法与 hasSize() 一起使用。
举个例子,你应该这样做:
.andExpect(jsonPath("$.result", hasSize(greaterThan(0))))
你可以看看hereorg.hamcrest.Matchers
class的其他方法。