Как установить несколько приемлемых значений для phpunit assert - PullRequest
0 голосов
/ 10 июня 2019

Я использую Phpunit в Laravel, и мой Api имеет несколько приемлемых ответов. У меня проблема в 2 случаях:

1- структура ответа может быть одним из этих двух:

$response->assertJsonStructure(['cities'=>[]]);  

or

$response->assertJsonStructure(['cities'=>[['id','name']]])

2- Статус ответа может быть 200 или 302

$response->assertStatus(200);

or

$response->assertStatus(302);

Но я не могу найти какой-либо метод для "ИЛИ" этих двух условий.

Я ищу что-то вроде этого:

$response->assertOr(
    $response->assertStatus(200),
    $response->assertStatus(302)
);

1 Ответ

2 голосов
/ 10 июня 2019

для # 1 Если вы считаете, что значение может быть пустым, просто сопоставьте ключ с assertArrayHasKey()

$response->assertArrayHasKey('cities', $response->getContent()); 

для # 2 . Вы можете использоватьassertContains() Like


 $response->assertContains($response->getStatusCode(), array(200,302));

Здесь вы можете найти больше информации.https://phpunit.readthedocs.io/en/7.4/assertions.html#assertcontains

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...