私は以下を使用して問題に遭遇しました:
- レール (3.2)
- Rspec (2.14.1)
- データベースクリーナー (1.2.0)
これは私のRspec構成がどのように見えるかです:
RSpec.configure do |config|
config.include Capybara::DSL
config.before(:suite) do
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
config.fixture_path = "#{::Rails.root}/spec/fixtures"
# If you're not using ActiveRecord, or you'd prefer not to run each of your
# examples within a transaction, remove the following line or assign false
# instead of true.
config.use_transactional_fixtures = true
ブロックにレコードを作成しますbefore(:each)
が、アプリケーション コードには表示されません。
私がそこにあると思っていたオブジェクトがなかったため、これは問題を引き起こします。
何度も試みた後、私はついに私の問題に対する答えを見つけました。