And*_*tad 2 rspec ruby-on-rails capybara
我不能让水豚工作.我正在使用capybara 2.0.0
我收到这个错误
Failure/Error: visit "/users/sign_in"
NoMethodError:
undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_21:0x007fdda4c6eba0>
Run Code Online (Sandbox Code Playgroud)
在这个规格上
规格/请求/ forgot_password_spec.rb
describe "forgot password" do
it "redirects user to users firms subdomain" do
visit "/users/sign_in"
end
end
Run Code Online (Sandbox Code Playgroud)
我没有得到任何错误,它找不到水豚,它包含在spec_helper.rb中
spec_helper.rb
require 'rubygems'
require 'spork'
require 'database_cleaner'
Spork.prefork do
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'capybara/rspec'
require 'rspec/autorun'
require 'factory_girl'
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
RSpec.configure do |config|
config.include Devise::TestHelpers, :type => :controller
config.extend ControllerMacros, :type => :controller
config.include RequestMacros, :type => :request
config.mock_with :rspec
config.use_transactional_fixtures = false
config.before(:suite) do
DatabaseCleaner.strategy = :truncation
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
config.infer_base_class_for_anonymous_controllers = false
end
Spork.each_run do
FactoryGirl.reload
end
end
Run Code Online (Sandbox Code Playgroud)
有没有人遇到过这个?
如果您有版本>= 2.0,任何使用Capybara方法的测试visit都应该在spec/features目录下,而不是在spec/requests下,它们通常位于Capybara中1.1.2.
有关更多信息,请查看以下链接:
如果您不想使用spec/features目录,则应该能够以feature下列方式将测试标记为并使Capybara方法有效:
describe "Some action", type: :feature do
before do
visit "/users/sign_in"
# ...
end
# ...
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2428 次 |
| 最近记录: |