【问题标题】:JRuby rspec: How to use --debug option for complete coverageJRuby rspec:如何使用 --debug 选项进行完整覆盖
【发布时间】:2014-07-31 13:21:56
【问题描述】:

当我发出以下命令时

 jruby -S rspec

运行时出现以下警告

C:/jruby-1.7.4/lib/ruby/gems/shared/gems/simplecov-0.7.1/lib/simplecov.rb:34 警告:如果没有 --debug,跟踪(例如 set_trace_func)将不会捕获所有事件 标志

所以我的问题是如何在运行 rspec 时使用这个 --debug 选项

【问题讨论】:

    标签: ruby-on-rails rspec jruby simplecov


    【解决方案1】:

    我正在使用 JRuby 1.7.11 运行 simplecov (0.8.2),我没有遇到任何问题。这是我的设置:

    .rspec:

     --format documentation
     --color
    

    在 spec_helper.rb 中:

    require 'simplecov'
    SimpleCov.start 'rails'
    

    我是否运行默认的 rake 任务:

    jruby -S bundle exec rake
    

    或者像你一样运行 rspec,我会收到调试警告。但是 simplecov 实际上仍然可以正常工作。我可以看到各种文件的覆盖率。

    【讨论】:

    • 是的,我的观点似乎也是如此。有趣的。这些视图看起来确实很好,因为我有相当多的集成测试。
    【解决方案2】:

    我想我已经找到了解决方案: 当我在没有 --debug 选项的情况下执行 rspec

    jruby -S rspec
    

    它给了我 97.8%

    的覆盖率

    还有 --debug

    jruby --debug -S rspec
    

    它给了我 98.46%

    的覆盖率

    我也用 ruby​​ 确认了

    bundle exec rspec
    

    它给了我覆盖率结果98.36%

    所以我认为使用 --debug 选项是更好的选择。

    如果你不想要像这样的警告 警告:Coverage [7] 提供的覆盖数据超过行数

    然后您可以在 simplecov 配置块中添加以下行

    SimpleCov.start 'rails' do
      add_filter 'app/views'
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-17
      • 2020-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多