0

在我的 rspec 测试中,我有这样的代码

it 'test'
plan_calcs_from_file = File.read(file_location)
eval(plan_calcs_from_file)
end

但是当我尝试“eval(plan_calcs_from_file)”时,我得到这样的错误

ActiveRecord::StatementInvalid Exception: Mysql2::Error: SAVEPOINT active_record_1 does not exist: ROLLBACK TO SAVEPOINT active_record_1

当我在开发模式下尝试时,此代码工作正常,但在测试模式下,此代码出错。为什么?

4

1 回答 1

0

尝试添加config.use_transactional_fixtures = falsespec_helper.rb

您正在使用 Mysql DDE 语句(创建/删除/截断表),这将导致隐式提交。

由于隐式提交,当前事务的所有保存点都被删除。

于 2013-11-14T08:06:26.390 回答