禁用保护规范运行的代码覆盖率

时间:2013-07-18 02:46:14

标签: ruby-on-rails rspec guard

由于各种原因,我发现每次从警卫重新加载文件时运行代码覆盖都是一个负担。但是,似乎没有办法有条件地阻止SimpleCov从规范助手开始。

有没有办法在守卫运行时禁用SimpleCov,但是在我使用rake spec正常运行时却没有?

3 个答案:

答案 0 :(得分:13)

我最终找到了这个解决方案:

  1. Guardfile

    中添加环境变量

    guard :rspec, env: { 'NO_COVERAGE' => 'true' }

  2. 从规范助手中检查:

    SimpleCov.start :rails unless ENV["NO_COVERAGE"]

答案 1 :(得分:4)

在您的规范助手中:

unless ARGV.any? {|e| e =~ /guard-rspec/ }
  SimpleCov.start
end

这里的想法是guard-rspec使用特殊的guard-rspec格式化器调用rspec。在给定的命令行中查找它会给你提示它是从Guard调用的,所以你可以跳过SimpleCov,如果它在那里。

答案 2 :(得分:0)

在VsCode中,我使用扩展名为const divEl = this.canvasElRef.nativeElement; const scriptEl = this.renderer2.createElement('script'); scriptEl.type = 'text/javascript'; scriptEl.text = ` (function() { console.log('console!') }()); `; this.renderer2.appendChild(divEl, scriptEl); 的Ruby Spec命令:NO_COVERAGE=true bin/rspec

也可以使用命令行:Rails Run SpecNO_COVERAGE=true bin/rspec spec/*_spec.rb