Sad*_*egh 3 php phpunit laravel
我在 Laravel 中使用 Phpunit,我的 Api 有多个可接受的响应。我有两种情况的问题:
1-响应结构可以是以下两种之一:
$response->assertJsonStructure(['cities'=>[]]);
or
$response->assertJsonStructure(['cities'=>[['id','name']]])
Run Code Online (Sandbox Code Playgroud)
2-响应状态可以是200或302
$response->assertStatus(200);
or
$response->assertStatus(302);
Run Code Online (Sandbox Code Playgroud)
但我找不到任何方法来“或”这两个条件。
我正在寻找这样的东西:
$response->assertOr(
$response->assertStatus(200),
$response->assertStatus(302)
);
Run Code Online (Sandbox Code Playgroud)
对于#1如果您认为该值可能为空,只需将键与assertArrayHasKey()
$response->assertArrayHasKey('cities', $response->getContent());
Run Code Online (Sandbox Code Playgroud)
对于#2你可以使用assertContains()Like
$response->assertContains($response->getStatusCode(), array(200,302));
Run Code Online (Sandbox Code Playgroud)
在这里您可以找到更多信息。https://phpunit.readthedocs.io/en/7.4/assertions.html#assertcontains
| 归档时间: |
|
| 查看次数: |
2818 次 |
| 最近记录: |