【发布时间】:2013-10-15 21:54:02
【问题描述】:
我在使用 RSpec 测试时遇到了PaperTrail(Rails 对象的自动版本控制)问题。通常我希望我的测试在没有 PaperTrail 版本控制的情况下运行,但是有一些测试我希望 PaperTrail 打开。我通常使用 Guard 和 Spork 运行我的测试,我可以在给定的测试周围使用 PaperTrail.enabled = true 和 PaperTrail.enabled = false 之类的东西,一切正常。
但是,当我使用 RSpec 运行测试时,需要 PaperTrail 的测试失败。更具体地说,似乎before 过滤器中的代码可以生成版本对象,而测试中的代码不能。经过大量的挖掘和修改并尝试了代码 sn-ps(我尝试过this 和this),看起来最好的解决方案是使用PaperTrail README 中提到的require "paper_trail/frameworks/rspec" 行。
不幸的是,这些中的每一个都让我从头开始——使用 Guard/Spork 测试通过,但没有通过香草 RSpec。这尤其是一个问题,因为当我在本地使用 Spork 时,我们的持续集成服务器直接运行 RSpec。
有人有什么见解吗?
【问题讨论】:
标签: ruby-on-rails rspec guard spork paper-trail-gem