ruby-on-rails - Rspec - Rails - 如何跟随重定向

标签 ruby-on-rails testing rspec web-testing

有谁知道如何使 rspec 遵循重定向(在 Controller 规范中)? (例如,测试/单元有 follow_redirect!)

我试过“follow_redirect!”和“follow_redirect”但只得到

undefined method `follow_redirect!' for #<Spec::Rails::Example::ControllerExampleGroup::Subclass_1:0xb6df5294>

例如:
当我创建一个帐户时,该页面被重定向到帐户页面,我的新帐户应该位于列表的顶部。

it "should create an account" do
  post :create, :name => "My New Account"
  FOLLOW_REDIRECT!
  response.code.should == "200"
  accounts = assigns[:accounts]
  accounts[0].name.should == "My New Account"
end

但是 FOLLOW_REDIRECT!需要更改为实际有效的内容。

最佳答案

我认为这是 rspec-rails 的默认行为 Controller 测试,从某种意义上说,您可以对响应状态和/或路径设置期望,并测试是否成功。

例如:

it "should create an account" do
  post :create
  response.code.should == "302"
  response.should redirect_to(accounts_path)
end

关于ruby-on-rails - Rspec - Rails - 如何跟随重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2865378/

相关文章:

ruby-on-rails - Rails Devise - 传递 URL 进行登录

ruby-on-rails - Capybara-如何测试指向同一页面不同部分的链接?

ruby-on-rails - 回形针上传yml文件

unit-testing - 如何在karma中模拟模拟服务失败?

ruby - 如何避免 RSpec 中的 "Useless use of == in void context"?

ruby-on-rails - 如何编写迁移来重命名 Rails 中的 ActiveRecord 模型及其表?

php - 广告词 API : Using campaigns and ads from live on the sandbox

php - 可以在 Laravel/PHPUnit 中模拟模型方法输出吗?

ruby-on-rails - 请求规范中的 stub 身份验证

ruby-on-rails - 如何更快地显示 rspec 错误?