0

我正在使用带有 FactoryGirl 和 RSpec 的 Rails3 进行测试。一些测试开始失败并出现以下错误:

失败/错误:let!(:user) { FactoryGirl.create :user }

ActiveRecord::StatementInvalid:

SQLite3::BusyException:无法打开保存点 - 正在进行的 SQL 语句:SAVEPOINT active_record_1

只有当我运行整个测试套件时才会发生这种情况。如果我只为 1 个文件运行测试,那么它会通过而没有错误。

4

1 回答 1

1

尝试改用惰性let(:user)版本let!(:user)。由于多次调用let!.

锁定的另一个可能原因是打开控制台。或者,Capybara 如何与多个线程一起工作。

猜猜,最简单的解决方案是添加一些 timeout

于 2013-11-01T19:55:12.487 回答