我在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)中,@ vendor重置并重新创建。如果两个或多个规格同时运行,它将在两者之间重置@seller。
那么解决这个问题的最佳方法是什么?
答案 0 :(得分:0)
每个进程都需要在自己的数据库中运行其规范。您需要创建许多数据库(app_test_1
,app_test_2
等)并配置您的测试以在其中运行。
您如何并行运行测试? parallel_test? specjour?水螅?
答案 1 :(得分:0)
为每个流程使用不同的数据库。它可以通过使用这个gem来实现:https://github.com/grosser/parallel_tests。