Моя проблема заключалась в том, что у меня было 2 массива (ключи массива для меня не важны, только значения).
Например, я хотел проверить, имеет ли
$expected = array("0" => "green", "2" => "red", "5" => "blue", "9" => "pink");
то же самоесодержимое (порядок не имеет значения для меня) как
$actual = array("0" => "pink", "1" => "green", "3" => "yellow", "red", "blue");
Так что я использовал array_diff .
Окончательный результат был (если массивы равны, разница приведет к пустому массиву).Обратите внимание, что разница рассчитывается в обоих направлениях (Спасибо @beret, @GordonM)
$this->assertEmpty(array_merge(array_diff($expected, $actual), array_diff($actual, $expected)));
Для более подробного сообщения об ошибке (при отладке) вы также можете выполнить тестирование следующим образом (спасибо @ DenilsonSá):
$this->assertSame(array_diff($expected, $actual), array_diff($actual, $expected));
Старая версия с ошибками внутри:
$ this-> assertEmpty (array_diff ($ array2, $ array1));