状態に関しては、この他の SO の投稿についての種に回答しました。ここにコピーすると、個別のシナリオ テストが得られます。
これにシードを使用するかしないかについては、さまざまな考えがあります。
それぞれの個別のシナリオが機能するか機能しないかを知りたいのですが、それらの間に相互作用はありません。これにより、スイートの実行時間が長くなる可能性がありますが、別のシナリオが連鎖反応を引き起こさなかったことをテストで確信できます。したがって、私はこれにシードを使用することにしました。
私はsupport/seeds.rb
内容を持っています:
Before do |scenario|
load Rails.root.join('db/seeds.rb')
end
これを次のようなものと組み合わせたい場合があることに注意してください。
begin
# start off entire run with with a full truncation
# DatabaseCleaner.clean_with :truncation, {:except => %w[plans]}
DatabaseCleaner.clean_with :truncation
# continue with the :transaction strategy to be faster while running tests.
DatabaseCleaner.strategy = :transaction
rescue NameError
raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
end