-1

私は以下を使用して問題に遭遇しました:

  • レール (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)が、アプリケーション コードには表示されません。

私がそこにあると思っていたオブジェクトがなかったため、これは問題を引き起こします。

何度も試みた後、私はついに私の問題に対する答えを見つけました。

4

1 に答える 1

0

問題は、私が使用していたことでした

config.use_transactional_fixtures = true

それをに変更した後

config.use_transactional_fixtures = false

問題が発生しなくなり、ようやくアプリケーション コードにレコードが表示されるようになりました。

于 2014-01-22T12:07:59.373 に答える