【发布时间】:2020-02-01 20:03:17
【问题描述】:
我有一个 laravel API 项目。有很多安全数据不应该在 API 响应中显示给用户。我需要一些方法来编写测试,如果只有响应结构与测试中的预设结构完全相同,我可以获得true。
所以,如果我的测试结构是 $structure = [ 'data' => ['_id', 'user' => ['name', 'email], 'title'];,但作为响应,我收到的字段或多或少,我需要让这个测试失败。
在我只找到的文档中:
assertJson - 期待准确的键 => 值,但我只需要一个键;
assertJsonStructure - 即使某些字段丢失或响应包含其他字段,也返回 true。
【问题讨论】:
-
你可以为此自定义函数
-
@N69S 当然可以。但我首先要寻找现有的东西。
-
你想只测试结构还是数据?如果你想测试数据你可以使用
$this->assertEquals(..., ...),如果你想确保某些值没有显示你可以使用$this->assertArrayNotHasKey();
标签: laravel phpunit laravel-testing