简单的cov gem缺少Rails中未经测试的文件

Gus*_*obo 28 ruby-on-rails simplecov

simple_cov在Rails应用程序中使用gem,我们可以在报告中包含我们未测试的文件吗?

  • 如果有,怎么样?

  • 如果不是,那些文件应该计入覆盖百分比,对吧?

ale*_*x88 51

尝试编辑config/environments/test.rb并设置此行:

config.eager_load = false

true这种方式加载整个应用程序并且simplecov读取它.

  • 当我设置“ eager_load = true”时,simplecov奇怪地根本没有报告任何文件。 (2认同)

Mic*_*pik 15

在运行具有代码覆盖率的测试套件时,急切地加载整个Rails应用程序.添加Rails.application.eager_load!spec_helper.rb.

Simplecov减慢了测试,这就是我使用shell环境变量打开它的原因.通常我spec_helper.rb/ rails_helper.rb看起来像这样:

if ENV['COVERAGE']
  require 'simplecov'
  # some SimpleCov setup, e.g. formatters
  SimpleCov.start 'rails'
end

ENV['RAILS_ENV'] ||= 'test'
require 'spec_helper'
require File.expand_path('../../config/environment', __FILE__)
require 'rspec/rails'

Rails.application.eager_load! if ENV['COVERAGE']
Run Code Online (Sandbox Code Playgroud)


Fil*_*sti 5

从版本 0.11.0 开始,可以显式设置应跟踪的文件(拉取请求)。

对于 Rails 应用程序来说:

require 'simplecov'
SimpleCov.start do
  track_files '{app,lib}/**/*.rb'
end
Run Code Online (Sandbox Code Playgroud)

或者简单的使用:

require 'simplecov'
SimpleCov.start 'rails'
Run Code Online (Sandbox Code Playgroud)

并且默认设置要跟踪的文件(当前相关代码)。