SimpleCov 问题。部分文件未涵盖
SimpleCov issue. Some files not covered
SimpleCov 忽略一些文件 (0%),而其他文件已通过相同的测试成功覆盖 (100%)。
我 运行 我使用框架的测试工具 (Rails 5.1.4) 进行测试。
这是我的 test_helper.rb
文件。
require 'simplecov'
# save to CircleCI's artifacts directory if we're on CircleCI
if ENV['CIRCLE_ARTIFACTS']
dir = File.join(ENV['CIRCLE_ARTIFACTS'], 'coverage')
SimpleCov.coverage_dir(dir)
end
SimpleCov.start 'rails'
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
这是一个被 SimpleCov 成功覆盖 (100%) 的 文件 Connection.types
:
class Connection < ApplicationRecord
validates :type_of, inclusion: { in: proc { Connection.types.map(&:to_s) } }
TYPES = %i[
friend
industry
investor
].freeze
belongs_to :project
belongs_to :user
def self.types
TYPES
end
end
这是一个 文件未成功覆盖 (0%) 被 SimpleCov 与 Kpi.types
:
class Kpi < ApplicationRecord
REGEX = {
float: "^\d+(\.?\d)?$"
}.freeze
TYPES = [
{ id: :buyers, name: 'Number of buyers', unit: 'users', example: '1000', regex: :float },
{ id: :sellers, name: 'Number of sellers', unit: 'users', example: '1000', regex: :float },
].freeze
belongs_to :project
def self.types
TYPES
end
end
我没有看到这里的模式...你呢?
好的,找到罪魁祸首:ActiveAdmin。这是后代的答案:)
我添加了一个过滤器:
SimpleCov.start 'rails' do
add_filter('/admin')
end
现在可以正常使用了。
SimpleCov 忽略一些文件 (0%),而其他文件已通过相同的测试成功覆盖 (100%)。
我 运行 我使用框架的测试工具 (Rails 5.1.4) 进行测试。
这是我的 test_helper.rb
文件。
require 'simplecov'
# save to CircleCI's artifacts directory if we're on CircleCI
if ENV['CIRCLE_ARTIFACTS']
dir = File.join(ENV['CIRCLE_ARTIFACTS'], 'coverage')
SimpleCov.coverage_dir(dir)
end
SimpleCov.start 'rails'
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
这是一个被 SimpleCov 成功覆盖 (100%) 的 文件 Connection.types
:
class Connection < ApplicationRecord
validates :type_of, inclusion: { in: proc { Connection.types.map(&:to_s) } }
TYPES = %i[
friend
industry
investor
].freeze
belongs_to :project
belongs_to :user
def self.types
TYPES
end
end
这是一个 文件未成功覆盖 (0%) 被 SimpleCov 与 Kpi.types
:
class Kpi < ApplicationRecord
REGEX = {
float: "^\d+(\.?\d)?$"
}.freeze
TYPES = [
{ id: :buyers, name: 'Number of buyers', unit: 'users', example: '1000', regex: :float },
{ id: :sellers, name: 'Number of sellers', unit: 'users', example: '1000', regex: :float },
].freeze
belongs_to :project
def self.types
TYPES
end
end
我没有看到这里的模式...你呢?
好的,找到罪魁祸首:ActiveAdmin。这是后代的答案:)
我添加了一个过滤器:
SimpleCov.start 'rails' do
add_filter('/admin')
end
现在可以正常使用了。