Rails 3 水豚错误

发布于 2024-10-29 11:16:50 字数 816 浏览 6 评论 0原文

我试图让 Capybara 使用 Rails 3(和测试单元),但是当我尝试运行 rake test:integration 时,我收到错误:ArgumentError: @request 必须是 ActionDispatch ::要求

测试

require 'integration_test_helper'

class UserNotesTest < ActionDispatch::IntegrationTest
  test "User should login" do
    user = Factory.create(:user)
    visit '/login'
    assert_response :success

    fill_in 'user_email', :with => user.email
    fill_in 'user_password', :with => user.password
    click_button 'Sign in'

    assert_redirect_to notes_path
  end
end

integration_test_helper:

require 'test_helper'
require 'capybara/rails'

module ActionDispatch
  class IntegrationTest
    include Capybara
  end
end

我不太确定出了什么问题......

I'm trying to get Capybara to work with rails 3 (and test unit) but when I try to run rake test:integration I get an error:ArgumentError: @request must be an ActionDispatch::Request

The test:

require 'integration_test_helper'

class UserNotesTest < ActionDispatch::IntegrationTest
  test "User should login" do
    user = Factory.create(:user)
    visit '/login'
    assert_response :success

    fill_in 'user_email', :with => user.email
    fill_in 'user_password', :with => user.password
    click_button 'Sign in'

    assert_redirect_to notes_path
  end
end

integration_test_helper:

require 'test_helper'
require 'capybara/rails'

module ActionDispatch
  class IntegrationTest
    include Capybara
  end
end

I'm not really sure whats going wrong...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不离久伴 2024-11-05 11:16:50

这是水豚在 visit 后未向 @request 变量分配任何内容的问题。

一种解决方案是使用rails内置方法,即

get '/login'
assert_response :success

在rspec中,我在page上使用断言,而不是@request

这里有一些讨论。

This has been a problem with capybara not assigning anything to the @request variable after visit.

One solution is to use the rails built-in methods, i.e.

get '/login'
assert_response :success

In rspec, i use assertions on page rather than @request.

There is some discussion here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文