使用Spork时如何加载Machinist的蓝图?
宝石:
我在每次验收测试中都会收到此错误:
Machinist::NoBlueprintError:
No master blueprint defined for class School
所有测试都失败了,因为它没有找到任何蓝图。我在V2上的一些错误(我仍然得到一些没有主蓝图..),但我也得到另一个错误:
Professor Create a new professor
Failure/Error: click_link("Profesores")
RangeError:
0x000000821461e4 is recycled object
我在测试环境中得到了config.cache_classes = false。
两个spec_helper版本:
答案 0 :(得分:4)
我一直在用砖墙撞击,试图用你提到的所有宝石在窗户上进行测试。我在我的博客上写了一篇文章,以防有人感兴趣,是的我已经知道,windows是球,但我必须出于必要而使用它:
博客本身并没有提到机械师,但我实际上是用自己的2.0.0.beta2宝石用spork来进行我的黄瓜测试。
只是为了排除显而易见的事情,你在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