我有下面的JSON示例

{"TestJson":{
  "Result":"Passed",
  "description":"Passed."},
  "Students":[{
     "Class":{
        "Primary":"Yes"
     },
     "Course":{
        "Enrolled":"yes",
         "AccountNumber":"2387287382"
     },
     "AccountNumber":"2387287382",
     "Paid":"Yes"
  }]}


我想知道如何找到一个好的解决方案。

我目前正在做什么

.body("Students[0].Course.AccountNumber",equalTo("2387287382"))
.body("Students[0].AccountNumber",equalTo("2387287382"))




我的测试标准是检查键Students[0].AccountNumber是否匹配Students[0].Course.AccountNumber



我想以这种方式做,但是我找不到类似的解决方案

.body("Students[0].Course.AccountNumber",equalTo("Students[0].AccountNumber"))


以上显然行不通,但这就是我要比较的方式。基本上比较密钥和另一个密钥,它们应该匹配。

这可行吗?

最佳答案

一种方法是:

String A =
given ().
when().
get/put/post({api/name})
.extract()
.path("Students[0].Course.AccountNumber");

String B =
given ().
when().
get/put/post({api/name})
.extract()
.path("Students[0].AccountNumber");

Assert.assertEquals(A, B);


似乎这种解决方法是唯一的方法。

10-08 06:40