나는 하나의 모델이있는 누드 레일 3 앱을 가지고 있으며, rails g model User
을 사용하여 생성됩니다. 나는 (factory_girl_rails
사용) 공장을 추가 한RSpec 실패 : 마이그레이션 후 테이블을 찾을 수 없습니다 ...?
:
Factory.define :user do |f|
f.email "[email protected]"
f.password "blah"
f.password_confirmation "blah"
f.display_name "neezer"
end
그럼 내가 추가 한 하나 개의 테스트 :
require 'spec_helper'
describe User do
subject { Factory :user }
it "can be created from a factory" do
subject.should_not be_nil
subject.should be_kind_of User
end
end
은 그 때 나는 rake db:migrate
를 사용하여 내 데이터베이스를 마이그레이션 . 그런 다음
나는 rspec spec
를 사용하여 테스트를 실행하고 테스트가 실패 다음
Failures:
1) User can be created from a factory
Failure/Error: subject { Factory :user }
ActiveRecord::StatementInvalid:
Could not find table 'users'
# ./spec/models/user_spec.rb:5:in `block (2 levels) in <top (required)>'
# ./spec/models/user_spec.rb:8:in `block (2 levels) in <top (required)>'
난 그냥 내 데이터베이스를 마이그레이션 않았기 때문에 나는 혼란 스러워요, 내 schema.db
파일이 사용자가 있음을 반영한다 테이블 선물, 그래서 무엇을 줄까요?
나는
factory_girl (1.3.3)
factory_girl_rails (1.0.1)
rails (3.0.5)
rspec-rails (2.5.0)
sqlite3 (1.3.3)
그냥 그냥 테스트 데이터베이스를 "부트 스트랩"않습니다 내가 때마다 나는 새로운 마이그레이션을 만들거나 것을 실행해야합니까 사용해보십시오? – neezer
한 번만 db : migrate와 비슷합니다. 실제로 마이그레이션,로드, 비품 테스트, db 테스트 등의 작업을 수행합니다. – Spyros
rake db : test : prepare *가 문제를 해결하지 못하면 어떻게해야할까요? : – Raphael