当通过rake运行rails 4 rspec套件时,一切都正常工作,但是当试图运行rake simplecov时,我会遇到数百个故障,所有这些故障都是w/ a NoMethodError,类似于:
1) Answer Validations
Failure/Error: it { should validate_presence_of :text }
NoMethodError:
undefined method `validate_presence_of' for #<RSpec::Core::ExampleGroup::Nested_16::Nested_1:0x007faf9fb5b7c8>
# ./spec/models/answer_spec.rb:12:in `block (3 levels) in <top (required)>'有什么线索知道为什么会这样吗?我还应该提到,我正在使用sqlite3 :memory:进行测试。
发布于 2013-09-11 19:28:04
您的simplecov运行中没有包含齐达库。
simplecov是否运行在与:test不同的环境中?如果仅在Gemfile中的:test组中加载,则可能会导致肩部宝石无法加载。
你是如何在你的spec_helper中包括simplecov的?像这样吗?
require 'simplecov'
require 'simplecov-rcov'
SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
SimpleCov.start 'rails' if ENV['COVERAGE']作为,您的spec_helper.rb的第一行
像这样的东西在你的档案里?
group :test, :development do
...
gem 'rspec-rails', '~> 2.0'
gem 'shoulda-matchers'
end
group :test do
gem 'simplecov'
gem 'simplecov-rcov'
end像这样执行吗?
$ COVERAGE=true bundle exec rake spec在许多项目中,这个食谱对我很有用。根据您的目的,RCov格式化程序可能并不重要。
https://stackoverflow.com/questions/18749475
复制相似问题