0

Jenkins サーバーで RSpec を使用して Rails-App のスペックを実行しています。そして、私はいくつかの有線障害を取得します:

invoices = Invoice.find_all_by_user_id(@seller.id)
invoices.should_not be_nil
invoice = invoices.last
invoice.generated_at.should be_close(Time.now.utc, 3)

# error in jenkins
undefined method `generated_at' for nil:NilClass

before(:each) で @seller がリセットされ、新しく作成されます。2 つ以上のスペックが同時に実行されている場合、その間に @seller がリセットされます。

それで、これを修正する最良の方法は何ですか?

4

2 に答える 2

0

各プロセスは、独自のデータベースでその仕様を実行する必要があります。多数のデータベース ( 、 など) を作成し、それらで実行するようにテストを構成する必要がありapp_test_1ますapp_test_2

テストをどのように並行して実行していますか? 並列テスト? スペック?ヒドラ?

于 2013-05-28T07:40:23.957 に答える
0

プロセスごとに異なるデータベースを使用します。これは、https ://github.com/grosser/parallel_tests という gem を使用して実現できます。

于 2013-05-28T07:46:27.690 に答える