简单的cov gem在Rails中缺少未经测试的文件
-
23-12-2019 - |
题
使用 simple_cov
在Rails应用程序中,我们可以将我们未测试的文件包含在报告中吗?
如果是,如何?
如果没有,该文件应该计入复盖率百分比,对吧?
解决方案
尝试编辑生成的config/environments/test.rb
并设置此行:
config.eager_load = false
以这种方式加载整个应用程序,SimpleCov读取它。
其他提示
当运行具有代码复盖率的测试套件时,渴望加载整个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']
自版本0.11.0,应跟踪的文件可以是显式集(拉请求)。
require 'simplecov'
SimpleCov.start do
track_files '{app,lib}/**/*.rb'
end
.
require 'simplecov'
SimpleCov.start 'rails'
.
不隶属于 StackOverflow