CodeCeption assertContains завершается ошибкой, когда массив содержит символы UTF-8 - PullRequest
0 голосов
/ 29 декабря 2018

У меня есть утверждение для проверки ключа в массиве в моих тестах 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 голосов
/ 01 января 2019

Я попробовал другой метод assert CodeCeption, который работал нормально для меня.

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