0

在 minitest 中,在 Hotwire 之前,创建测试可能如下所示:


  test "should create user" do
    assert_difference('User.count') do
      post users_url, params: { user: valid_params }
    end

    assert_redirected_to users_path
  end

将 create controller 操作更改为 respond_to :turbo_stream 后,上述测试将不再正确执行。我试过简单地将 format: :turbo_stream 作为参数哈希的一部分传递......但是,这也不起作用。

post users_url, params: { user: valid_params, format: 'turbo_stream' }

必须有一种 Rails 7 方法来测试它。Minitest 可能尚未针对这些新功能进行更新。

有没有人为这种新格式更新了他们的测试?

4

1 回答 1

0

事实证明这很容易......这就是你的做法

post users_url(format: :turbo_stream), params: { user: valid_params }

然后,而不是测试重定向使用:

assert_response :success
于 2021-10-11T04:40:53.327 回答