当数组包含 UTF-8 字符时,CodeCeption assertContains 失败
CodeCeption assertContains fails when array contains UTF-8 characters
我有一个断言来检查我的 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"]);
此行为表明在我的 $resp
对象中有一个名为 key
的键。
我认为原因可能是 UTF-8
个字符,因为我之前已经使用 asserContains
一百次并且它很有魅力。
知道如何解决这个问题吗?
我尝试了 CodeCeption 的另一种断言方法,它对我来说效果很好。
$I->assertArrayHasKey("key", $resp);
我有一个断言来检查我的 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"]);
此行为表明在我的 $resp
对象中有一个名为 key
的键。
我认为原因可能是 UTF-8
个字符,因为我之前已经使用 asserContains
一百次并且它很有魅力。
知道如何解决这个问题吗?
我尝试了 CodeCeption 的另一种断言方法,它对我来说效果很好。
$I->assertArrayHasKey("key", $resp);