使用Spork时如何加载机械师的蓝图?
gem :
我在每个验收测试中都会遇到此错误:
Machinist::NoBlueprintError:
No master blueprint defined for class School
所有测试均失败,因为它找不到任何蓝图。我在V2上遇到了一些错误(我仍然得到一些No master blueprint ..),但是我也遇到了另一个错误:
Professor Create a new professor
Failure/Error: click_link("Profesores")
RangeError:
0x000000821461e4 is recycled object
我在测试环境中为此获得config.cache_classes = false。
两个spec_helper版本:
https://gist.github.com/801814
最佳答案
我一直在撞墙,试图用提到的所有 gem 在 window 上进行测试。我在博客上写了一篇文章,以防万一有人感兴趣,是的,我已经知道, window 是球形的,但是出于必要,我不得不使用它:
Setting up a fast efficient testing environment using Ruby192, Rails 3.0.4, RSpec 2.5.0, Cucumber 0.10.0 and Spork!
博客本身没有提到机械师,但实际上我是在自己使用带有spork的2.0.0.beta2 gem来运行我的 cucumber 测试。
为了排除显而易见的情况,您是否在application.rb文件中包含了以下内容:
config.generators do |g|
g.fixture_replacement :machinist
end
您还可以在以下位置设置蓝图文件:
features/support/blueprints.rb for cucumber
spec/support/blueprints.rb for rspec
并确保您包括以下内容:
require 'machinist/active_record'
在您的蓝图顶部。
另外,还请注意启动和运行时的注意事项。 Machinist缓存了许多对象以使其运行更快,但是在不断尝试清除数据库时,它有时可能会使您绊倒。如果遇到问题,可以通过将其添加到config/environments/test.rb文件中来关闭Machinists缓存:
Machinist.configure do |config|
config.cache_objects = false
end
关于ruby-on-rails - 使用Spork时如何加载机械师的蓝图?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4833450/