2013-01-17 3 views
2

카피 바라를 사용할 수 없습니다. 나는이 사양카피 바라 방법이 정의되지 않았습니다.

사양/요청/forgot_password_spec.rb

describe "forgot password" do 
    it "redirects user to users firms subdomain" do 
    visit "https://stackoverflow.com/users/sign_in" 
    end 
end 

내가하지 않는 오류를이 오류

Failure/Error: visit "https://stackoverflow.com/users/sign_in" 
    NoMethodError: 
     undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_21:0x007fdda4c6eba0> 

을 얻을 카피 바라 2.0.0

를 사용하고 그 카피 바라는 찾을 수 없으며 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 

다른 사람이 발생 했습니까? 당신이 가지고있는 경우에

+0

실패한 사양 (컨트롤러, 요청, 기능) 및 사용중인 Capybara 버전은 어디에 있습니까? – dimuch

+0

업데이트 된 질문에 감사드립니다. –

답변

6

버전 >= 2.0사양에 따라 가야한다 visit 같은 카피 바라의 방법을 사용하는 시험/ 디렉토리 기능, 그리고 아래 스펙/그들은 일반적으로 1.1.2 카피 바라에있는 것을 요청합니다.

자세한 내용은 다음 링크에서보세요 :

당신이 사양/기능 디렉토리를 사용하지 않으려면, 당신이해야 다음과 같은 방법으로 테스트를 feature으로 표시하고 Capybara 메서드를 사용할 수 있습니다.

describe "Some action", type: :feature do 
    before do 
    visit "https://stackoverflow.com/users/sign_in" 
    # ... 
    end 
    # ... 
end 
+0

고마워이게 해결 됐어! 나는 사양/요청에 따라 그것을 가지고 있었다. –

3

필자의 경우이 새로운 오류 파일 상단에 require "spec_helper" 을 넣는 것을 잊어 버렸기 때문에이 오류가 발생했습니다.

나는 이미 다른 질문에 도움이 되었기를 바라며 이미 답변 된 질문에 대한 답변을 추가 할 충분한 시간을 보냈습니다.