通过使用这些钩子(在 .specjour/hooks.rb 中定义),我们让 specjour (0.4.1) 与我们的 rails 应用程序(rails 3.0.12 & rspec 2.5.0 & rspec-rails 2.5.0)一起工作:
Specjour::Configuration.before_test = lambda do
Fixtures.reset_cache if defined?(Fixtures)
end
Specjour::Configuration.after_fork = lambda do
load('Rakefile')
Rake::Task['db:test:load'].execute
end
我们刚刚升级到 rails 3.2.6 & rspec 2.10.0 & rspec-rails 2.10.1 & specjour 0.5.6。当我们运行时,所有规范都通过了rake spec
。
当我们使用 specjour 运行规范时,我们有很多规范失败。我们通过修补已知的 rspec-core 问题来解决它以保留配置(而不是重置它)。我们解决了一个夹具问题(更改了名称)。许多仍然失败的规范似乎与使用 Rails 缓存的代码有关。
有谁知道适用于 rails 3.2.6 的 rspec / rspec-rails / specjour (和/或钩子/解决方法/任何东西)的版本组合?