10

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

有没有办法在警卫运行时禁用 SimpleCov,但在我正常运行时没有rake spec

4

3 回答 3

15

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

  1. 在你的添加一个环境变量Guardfile

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

  2. 从规范助手检查它:

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

于 2013-07-18T03:59:46.460 回答
4

在您的规范助手中:

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

这里的想法是guard-rspec 使用特殊的guard-rspec 格式化程序调用rspec。在给定的命令行上查找它会提示您它是从 Guard 调用的,因此如果存在的话,您可以跳过 SimpleCov。

于 2013-07-18T03:27:50.137 回答
0

在 VsCode 中,我使用 Ruby Spec Command:NO_COVERAGE=true bin/rspec在扩展Rails Run Spec

也适用于命令行:NO_COVERAGE=true bin/rspec spec/*_spec.rbNO_COVERAGE=true bundle exec rspec spec/*_spec.rb

于 2020-10-02T13:06:29.973 回答