Laravel 测试assertSessionDoesntHaveErrors() 没有发现错误?

问题描述 投票:0回答:1

我想在 Laravel 测试中断言两件事:

  1. 对象已成功更改(例如。
    assertSee('New value')
  2. 会话中没有错误(例如。
    assertSessionDoesntHaveErrors()

但是,要测试第一个,我需要在

followingRedirects()
请求中使用
patch()
,并检查第二个我不能使用
followingRedirects()
(否则会话错误将被删除)。

如果存在任何错误,我可以在 HTML 正文中放置一个

data-errors="true"
元素,但我想知道是否有更优雅的解决方案?我感觉一定有。

laravel testing phpunit
1个回答
0
投票

这是我的解决方案。它似乎按预期工作:

$response = $this->patch('/endpoint', $object);

$response
  ->assertStatus(302)
  ->assertSessionDoesntHaveErrors();

$this->followRedirects($response)
  ->assertSee('New value')
  ->assertOk();
© www.soinside.com 2019 - 2024. All rights reserved.