读取json的第一个字段

我正在运行 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();

我想我需要在最后一行进行更改。有任何想法吗?


紫衣仙女
浏览 200回答 1
1回答

心有法竹

我猜你的意思是这样的:.andExpect(MockMvcResultMatchers.jsonPath("$.resultCode", is("SUCCESS")))因为 json 是一个键值映射,你不应该假设其中的字段顺序
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java