ruby-on-rails 你如何加载机械师的蓝图时,使用Spock?

wi3ka0sx  于 2023-05-08  发布在  Ruby
关注(0)|答案(1)|浏览(96)

你如何加载机械师的蓝图时,使用Spock?
宝石:

  • mongoid(2.0.0.rc.6)
  • 水豚(0.4.1.1)
  • 牛排(1.1.0)
  • spork(0.9.0.rc2)
  • rspec(2.4.0)
  • 机械师(2.0.0.beta2)

我在每个验收测试中都遇到这个错误:

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

mbyulnm0

mbyulnm01#

为了排除显而易见的情况,您是否在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

相关问题