ActiveRecord在Rspec测试中导致SQLException

时间:2012-05-02 01:15:09

标签: sql ruby-on-rails testing rspec

更新:我的问题肯定与this one有关 - 这是ActiveRecord的问题。仍未解决。

我正在尝试通过rspec进行测试,无法弄清楚出了什么问题......这就是我所得到的:

Running: spec/models/user_spec.rb
.
.
.
........F

Failures:

  1) User when email address is already taken 
     Failure/Error: user_with_same_email.save
     ActiveRecord::StatementInvalid:
     SQLite3::SQLException: near "SAVEPOINT": 
     syntax error: SAVEPOINT active_record_1
     # ./spec/models/user_spec.rb:64:in `block (3 levels) in <top (required)>'

Finished in 0.22908 seconds
9 examples, 1 failure

这是我测试中的相关行:

user_with_same_email.save

尝试写入db时会中断。发展很好 - 没有问题。 感谢

1 个答案:

答案 0 :(得分:2)

问题是sqlite的旧版本。我安装了Homebrew并运行brew install sqlite3 由于已经存在的文件,出现了许多错误。我刚刚将其重命名为*.old并运行brew link sqlite3。问题解决了!