BonBonSlick
@BonBonSlick
Junior Web Developer Trainee

Почему тест падает?

Should contain [{"email":"member@email.com"}] in [{"email":"moderator@email.com"},...{"email":"member@email.com",}...}]
Failed asserting that an array has the subset Array &0 (
    0 => Array &1 (
        'email' => 'member@email.com'
    )
).
--- Expected
+++ Actual
@@ @@
     [0] => Array
         (
-            [email] => member@email.com
+            [email] => moderator@email.com


В json есть данные, если массиво будет так
array:3 [
  "status" => "success"
  "data" => array:5 [
    0 => array:5 [
      "email" => "developer@email.com"
    ]
    1 => array:5 [
      "email" => "member@email.com"
...


assert
static::assertArraySubset(
      [
        [
          'email' => 'member@email.com',
        ],
      ],
      $content['data'],
      true,
      \sprintf(
        'Should contain %s in %s',
        \json_encode([['email' => 'member@email.com',],]),
        \json_encode($content['data'])
      )
    );


Тест проходит только если member@email стоит первым в массиве.
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
dark1112
@dark1112
Web developer
static::assertArraySubset(
      [
        1 => [
          'email' => 'member@email.com',
        ],
      ],
      $content['data'],
      true,
      \sprintf(
        'Should contain %s in %s',
        \json_encode([['email' => 'member@email.com',],]),
        \json_encode($content['data'])
      )
    );
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы