首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rspec SimpleCov NoMethodError

Rspec SimpleCov NoMethodError
EN

Stack Overflow用户
提问于 2013-09-11 19:18:11
回答 1查看 1.7K关注 0票数 2

当通过rake运行rails 4 rspec套件时,一切都正常工作,但是当试图运行rake simplecov时,我会遇到数百个故障,所有这些故障都是w/ a NoMethodError,类似于:

代码语言:javascript
复制
  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:进行测试。

EN

回答 1

Stack Overflow用户

发布于 2013-09-11 19:28:04

您的simplecov运行中没有包含齐达库。

simplecov是否运行在与:test不同的环境中?如果仅在Gemfile中的:test组中加载,则可能会导致肩部宝石无法加载。

你是如何在你的spec_helper中包括simplecov的?像这样吗?

代码语言:javascript
复制
require 'simplecov'
require 'simplecov-rcov'
SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
SimpleCov.start 'rails' if ENV['COVERAGE']

作为,您的spec_helper.rb的第一行

像这样的东西在你的档案里?

代码语言:javascript
复制
group :test, :development do
  ...
  gem 'rspec-rails', '~> 2.0'
  gem 'shoulda-matchers'
end

group :test do
  gem 'simplecov'
  gem 'simplecov-rcov'
end

像这样执行吗?

代码语言:javascript
复制
$ COVERAGE=true bundle exec rake spec

在许多项目中,这个食谱对我很有用。根据您的目的,RCov格式化程序可能并不重要。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18749475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档