我使用laravel 5.4。在我的测试中,我做了类似的事情:
$this->get("/api/test")->assertStatus(422)->assertJson([
"status" => "ok"
]);
当状态代码为422时,我得到一个HttpException,即使我已经完全准备好了 - 我甚至期待它。我的问题是异常阻止了我的断言,因此assertJson
不起作用。
$this->expectException(HttpException::class)
无效,因为它捕获此异常并停止,因此开始传递:
$this->expectException(HttpException::class)
$this->get("/api/test")->assertStatus(422)->assertJson([
"status" => "ok"
]);
$this->assertTrue(false);
我发现自己可以捕获此异常,但之后我无法以简单的方式将我的断言应用于响应。我该如何解决这个问题?
答案 0 :(得分:0)
验证错误仅在json或ajax请求上转换为json响应。试试这个。
$this->getJson("/api/test")->assertStatus(422)->assertJson([
"status" => "ok"
]);