我正在运行 JUnit 测试,这是我当前的预期和实际结果:Expected :"resultCode":"SUCCESS"Actual :{"resultCode":"SUCCESS","data":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWFpbEBnbWFpbC5jb20iLCJlbWFpbCI6ImVtYWlsQGdtYWlsLmNvbSIsInBhc3N3b3JkIjoicGFzc3dvcmQifQ.lKxvMPhsJAjFqOryb-0cUgBh-C9jjUfatydX42Jos5clkn9N9YA01DRzZX0XbhdYXJaacUfx8GwRsFGsLjGcxg"}我需要将我的预期结果设置为仅读取实际结果 json 的第一个字段,因为数据令牌是动态的,并且每次测试都不能相同。我目前的代码是:this.mockMvc.perform(post("/auth/logIn") .contentType(MediaType.APPLICATION_JSON) .content(json)) .andExpect(status().isOk()) .andExpect(content().contentType("application/json;charset=UTF-8")) .andExpect(content().string("\"resultCode\":\"SUCCESS\"")).andReturn();我想我需要在最后一行进行更改。有任何想法吗?
1 回答
心有法竹
TA贡献1866条经验 获得超5个赞
我猜你的意思是这样的:
.andExpect(MockMvcResultMatchers.jsonPath("$.resultCode", is("SUCCESS")))
因为 json 是一个键值映射,你不应该假设其中的字段顺序
添加回答
举报
0/150
提交
取消