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 被重置并新创建。如果两个或多个规范同时运行,它将在两者之间重置 @seller。

那么解决这个问题的最佳方法是什么?

4

2 回答 2

0

每个进程都需要在自己的数据库中运行其规范。您需要创建许多数据库(app_test_1app_test_2等)并配置您的测试以在其中运行。

您如何并行运行测试?并行测试?规格?九头蛇?

于 2013-05-28T07:40:23.957 回答
0

为每个进程使用不同的数据库。它可以通过使用这个 gem 来实现:https ://github.com/grosser/parallel_tests 。

于 2013-05-28T07:46:27.690 回答