提问者:小点点

如何断言基于身体项目与Rest保证与JSON响应?


我如何在“description”数组中使用放心断言我的属性?body()方法。

示例:

 .body ("[0] .userType", equalTo (1)); // error 

下面是我当前的JSON数据,我想用它来断言:

{
"validSession": true,
"value": "xxx",
"description": [
    {
        "userType": 1,
        "userTypeDescription": "xxx",
        "uname": "xx",
        "distributorId": 1
    }
]}

共3个答案

匿名用户

我编辑它:

.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数据中的元素“描述”是一个数组。您正在使用数组语法来声明您打算读取数组中名为“描述”的第一个元素。