Codeception-seeResponseMatchesJsonType-当JSON包含未在结构中指定的数据时失败

时间:2018-07-06 10:45:01

标签: codeception

我想验证JSON响应的结构以及数据类型。我想验证返回的JSON是否具有我在测试中指定的EXACT结构。我觉得我与seeResponseMatchesJsonType关系密切,但是当传递的JSON包含不在我传递给seeResponseMatchesJsonType的方案中的字段时,它不会失败。

我的测试功能内部:

$I->sendGET('people');

$I->seeResponseMatchesJsonType([
            "id"=> 'integer:>0',
            "first_name"=> "string",
            "last_name"=> "string"
        ], '$.data[0]');

GET请求返回的数据:

{
    "data": [
        {
            "id": 87,
            "first_name": "John",
            "last_name": "Smith",
            "email": "johnsmith@example.com"
        }
    ]
}

测试不会失败,但是我希望它能够进行测试(因为传递的JSON具有一个email字段,而传递给seeResponseMatchesJsonType的方案则没有)。

我使用了错误的断言,还是有办法使用seeResponseMatchesJsonType来完成我想做的事情?

谢谢

0 个答案:

没有答案