0
#gemfile
...
gem 'rspec-rails'
gem 'capybara'

根据官方文档,我在 spec_helper.rb 中添加了 require 'capybara/rails' 。我已经生成了一个测试:

$rails generate integration_test authentication_pages

我写了一个测试:

#spec/features/authentication_pages_spec.rb
describe "Authentication" do
  subject { page }    
  describe "signin" do    
    before { visit new_user_session_path }    
    describe "with invalid information" do
      before { click_button "Sign in" }    
      it { should have_title('Sign in') }
    end
  end
end

运行测试我有一个错误:

$rspec spec/features/authentication_pages_spec.rb 
F

Failures:

  1) Authentication signin with invalid information 
     Failure/Error: before { visit new_user_session_path }
     NameError:
       undefined local variable or method `new_user_session_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1::Nested_1:0x000000010f9618>
     # ./spec/features/authentication_pages_spec.rb:6:in `block (3 levels) in <top (required)>'

Finished in 0.0007 seconds
1 example, 1 failure

Failed examples:

rspec ./spec/features/authentication_pages_spec.rb:11 # Authentication signin with invalid information

new_user_session_path 是一个有效路径,我在我的应用程序中使用它并且它有效。

我没有解决方案,我尊重官方文档。你能帮助我吗?

4

1 回答 1

1

我发现了错误:spec/features/authentication_pages_spec.rb 中缺少 require 'spec_helper'

正确的文件是这样的:

#spec/features/authentication_pages_spec.rb
require 'spec_helper'
describe "Authentication" do
  subject { page }    
  describe "signin" do    
    before { visit new_user_session_path }    
    describe "with invalid information" do
      before { click_button "Sign in" }    
      it { should have_title('Sign in') }
    end
  end
end
于 2013-10-27T20:52:14.243 回答