私はRailsを初めて使用するので、おそらく何かわかりません... Mongoid gemでMongodbを使用するRailsアプリを作成しようとしています。
私はテストでいくつかの問題を抱えています。db コンテンツから生成された html テーブルが正しいかどうかを確認したい。
テストデータベースでデータを生成するために製作を使用しています。
私の問題は、生成されたデータをテストで使用できないことです。テストを正しく失敗/成功させるには、テストを 2 回実行し、コレクションを空にしないようにする必要があります。しかし、これは他のテストで問題を引き起こします。
仕様: 'spec_helper' が必要です
describe "OperatorsPages" do
let(:operator) { Fabricate(:operator) }
subject { page }
before do
sign_in_operator operator
end
describe "index page " do
before(:all) do
3.times { Fabricate(:operator) }
visit operators_path
end
after(:all) do
Operator.all.destroy
end
Operator.all.each do |operator|
it { should have_selector 'td', text: operator.name }
it { should have_selector 'td', text: operator.email }
end
end
end
テストが空のデータベースに対して実行される場合、Operators.all.each.to_a は空であるため、ループ内のアサーションはチェックされません。もう一度実行するとループは機能しますが、(明らかに) after(:all) フィルターを削除した場合のみです
このテストを最初に正しく実行し、その後空のコレクションを残すにはどうすればよいですか?