如何转换 minitest 创建测试以适应 turbo_stream?
Posted
技术标签:
【中文标题】如何转换 minitest 创建测试以适应 turbo_stream?【英文标题】:How to convert minitest create test to accommodate turbo_stream? 【发布时间】:2021-11-29 19:46:14 【问题描述】:在 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 尚未针对这些新功能进行更新。
有人针对这种新格式更新了他们的测试吗?
【问题讨论】:
【参考方案1】:原来这很容易......这就是你的做法
post users_url(format: :turbo_stream), params: user: valid_params
然后,而不是测试重定向使用:
assert_response :success
【讨论】:
以上是关于如何转换 minitest 创建测试以适应 turbo_stream?的主要内容,如果未能解决你的问题,请参考以下文章
Minitest:调用#assert_current_path时出现Capybara错误?
带有 jruby rake 测试任务的 MiniTest falis