我在CodeCeption测试中有一个断言来检查数组中的键。该测试将调用REST API并检查返回的响应。
我有以下命令:
$I->assertContains("key", $resp);
输出为:
Step Assert contains "key",{"key":"0m-5m","price":10000,"text":"۰ تا ۵ دقیقه"}
Fail Failed asserting that an array contains 'key'.
但是当我将命令更改为以下命令时,一切正常:
$I->assertInternalType("string", $resp["key"]);
此行为表明,我的key
对象中有一个名为$resp
的键。
我认为原因可能是UTF-8
个字符,因为我之前使用asserContains
已有一百次了,而且很吸引人。
有什么办法解决这个问题吗?
答案 0 :(得分:1)
我尝试了CodeCeption的另一种断言方法,对我来说很好用。
$I->assertArrayHasKey("key", $resp);