Rails 4.0에서 4.1로 업그레이드하기 전에 Spring없이 RSpec/Guard를 사용하고 모든 테스트가 녹색 점과 녹색 텍스트 이외의 출력없이 진행되었다. 필자가 필요로하는 다른 것들과 함께 스프링을 업그레이드하고 설치 한 후, 나는 패스 테스트에서 에러를 얻었고 때로는 테스트가 '유일성'에러로 인해 통과하지 못한다. 통과 및 실패 테스트 사이Rails Spring/Rspec/Guard가 Spring 이전에 없을 때 에러를 낸다.
일반적인 오류 : 이제
An error occurred in an after(:all) hook.
NameError: uninitialized constant Recipe
occurred at /home/user/.rvm/gems/[email protected]/gems/activesupport-4.1.0/lib/active_support/inflector/methods.rb:238:in 'const_get'
애프터 (모든) 훅은 단순히 모든 관리자 : 와인 객체 (그리고 관리자 :: 와인 객체 has_many 조리법을) 삭제합니다. Manager는 레일 엔진이며 Wine 및 Recipe 모델이 있습니다. Wine 클래스에서는 레시피 상수를 명시 적으로 지정하지 않습니다. 그러나 이전에 말했듯이, Spring을 업그레이드하고 설치하기 전까지는이 오류가 일반적인 RSpec/Guard 테스트에서 나타나지 않았습니다.
다른 실패는 '이미 속성이 적용되었습니다'의 결과입니다. 예를 들어, 표준 'is valid factory'테스트는이 때문에 create()시 실패합니다. 그러나 RSpec에 명시되어 있습니다 :
config.before(:each) do
DatabaseCleaner.start
end
나는 봄 전에 무작위 테스트에서 이러한 오류를 얻지 못했습니다.
Gemfile은 니펫을 :
group :development, :test do
gem 'spring'
gem 'rspec-rails'
gem 'guard'
gem 'guard-rspec', require: false
gem 'spring-commands-rspec'
gem 'factory_girl_rails'
gem 'database_cleaner'
end
Guardfile에는 다음이 포함
guard :rspec, cmd:"spring rspec" do
레일되는 app_root/빈 파일이 포함되어
rails
rake
rspec
spring
을 ???