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

标签 ruby-on-rails testing spork

使用Spork时如何加载Machinist的蓝图?

gem :

  • mongoid (2.0.0.rc.6)
  • capybara (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 上遇到了其中一些错误(我仍然得到一些没有主蓝图..),但我也遇到了另一个错误:

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

最佳答案

只是为了排除显而易见的问题,您是否在 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/

相关文章:

ruby-on-rails - Spork 每次都初始化 rails 并且运行缓慢

ruby-on-rails - 如何知道 Spork 是否正在运行

ruby-on-rails - Ruby on Rails : Migrations: how do I merge to tables into a new table?

google-app-engine - GAE/Go项目的测试代码放在哪里?

javascript - 如何以编程方式单击打开 Javascript 窗口的小书签并验证窗口的内容?

android - 改造测试,回调?

rspec2 - 使用 Spork 进行 Rails 3.1 RC5 可安装引擎测试

ruby-on-rails - 禁用 Mailchimp 双重选择加入

ruby-on-rails - Rails 脚注部分计数始终为零

mysql - Ruby on Rails - 找不到 mysql2.so