【问题标题】:SimpleCov: Not run every time, just with rake taskSimpleCov:不是每次都运行,只是使用 rake 任务
【发布时间】:2017-03-24 08:40:37
【问题描述】:

在运行测试时,是否有可能在 rake 任务上运行 simplecov coverage-tool for rails 而不是每次都运行?

【问题讨论】:

    标签: ruby-on-rails gem


    【解决方案1】:

    您可以使用环境变量来解决这个问题:

    SimpleCov.start if ENV["COVERAGE"]
    

    然后,运行 rake test / rspec / cucumber with

    $ COVERAGE=true rake test
    

    【讨论】:

    • 在 /environments/coverage.rb 中我只是复制并粘贴 test.rb 中的设置?
    • 你不需要在单独的 Rails 环境中运行它,我的意思是只是一个 shell 环境变量:)
    • 你把SimpleCov.start放在哪里?在 rakefile 的顶部?
    • 不,在您的测试/规范助手中,如自述文件中所述
    • 也想知道这一点并得出了相同的结论。我并不热衷于每次运行 rake 时都指定环境变量,但我没有找到更好的方法。
    【解决方案2】:

    另一种仅使用 rake 任务运行 SimpleCov 的方法是将设置代码从规范帮助程序中移出到 Rakefile

    # Rakefile
    
    ... # normal Rakefile stuff
    
    
    if defined? RSpec
      task(:spec).clear
    
      RSpec::Core::RakeTask.new(:spec) do |t|
        require 'simplecov'
        SimpleCov.start 'rails'
      end
    end
    

    【讨论】:

      猜你喜欢
      • 2016-11-16
      • 2011-12-24
      • 1970-01-01
      • 2017-02-16
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多