当数组包含UTF-8字符时,CodeCeption assertContains失败

时间:2018-12-29 12:45:14

标签: utf-8 phpunit codeception assertion

我在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已有一百次了,而且很吸引人。

有什么办法解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我尝试了CodeCeption的另一种断言方法,对我来说很好用。

$I->assertArrayHasKey("key", $resp);