Bei einem einfachen Cov-Gem fehlen ungetestete Dateien in Rails
-
23-12-2019 - |
Frage
Benutzen simple_cov
gem in einer Rails-App, können wir die Dateien, die wir nicht testen, in den Bericht aufnehmen lassen?
Wenn ja, wie?
Wenn nein, sollten diese Dateien zum Abdeckungsprozentsatz zählen, oder?
Lösung
Versuchen Sie, Ihre zu bearbeiten config/environments/test.rb
und setze diese Zeile:
config.eager_load = false
Zu true
Auf diese Weise wird die gesamte App geladen und von simplecov gelesen.
Andere Tipps
Laden Sie unbedingt die gesamte Rails-App, wenn Sie eine Testsuite mit Codeabdeckung ausführen.Hinzufügen Rails.application.eager_load!
Zu spec_helper.rb
.
Simplecov verlangsamt Tests, deshalb verwende ich die Shell-Umgebungsvariable, um es zu aktivieren.Normalerweise meine spec_helper.rb
/rails_helper.rb
sieht ungefähr so aus:
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']
Seit der Version 0.11.0 können die Dateien, die verfolgt werden sollen, explizit eingestellt werden ( Anforderung ).
generasacodicetagpre. generasacodicetagpre.und die zu verfolgenden Dateien werden standardmäßig festgelegt ( Aktueller Code ).