我如何在“description”数组中使用放心断言我的属性?body()方法。
示例:
.body ("[0] .userType", equalTo (1)); // error
下面是我当前的JSON数据,我想用它来断言:
{
"validSession": true,
"value": "xxx",
"description": [
{
"userType": 1,
"userTypeDescription": "xxx",
"uname": "xx",
"distributorId": 1
}
]}
我编辑它:
.body("validSession",is(true))
.body("description[0].userType", equalTo(1))
.body("description[0].userTypeDescription", containsString("xxx"))
.body("description[0].uname", containsString("xx"))
.body("description[0].distributorId", equalTo(1));
我测试了一下,它起作用了。但我不明白为什么它只通过放置数组的所有元素与索引零来工作。
你能解释一下吗?
请尝试使用以下代码片段:
.body("description[0]", hasItem(1))
如果有帮助,请告诉我。
你能解释一下吗?
您需要在测试中引用描述[0]
的原因是JSON数据中的元素“描述”是一个数组。您正在使用数组语法来声明您打算读取数组中名为“描述”的第一个元素。