-
Notifications
You must be signed in to change notification settings - Fork 553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Coverage analysis under rails 8 beta seems to not be working #1111
Comments
We have the same issue. |
here is my file, it's working fine with parallelize processes #=> test/test_helper.rb
# frozen_string_literal: true
ENV['RAILS_ENV'] ||= 'test'
require_relative 'supports/simplecov'
require_relative '../config/environment'
require 'rails/test_help'
module ActiveSupport
class TestCase
I18n.locale = :en
# Run tests in parallel with specified workers
parallelize_setup do |_worker|
SimpleCov.command_name "Job::#{Process.pid}" if const_defined?(:SimpleCov)
end
parallelize(workers: :number_of_processors)
# Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
fixtures :all
# Add more helper methods to be used by all tests here...
end
end #=> test/supports/simplecov.rb
# frozen_string_literal: true
require 'simplecov'
Rake.respond_to?(:application) &&
Rake.application.respond_to?(:top_level_tasks) &&
Rake.application.top_level_tasks.any? { |e| e.eql?('test:prepare') }
FileUtils.rm_f('coverage/.resultset.json')
SimpleCov.minimum_coverage 100
SimpleCov.start(:rails) do
add_filter do |source_file|
removed_lines = 0
relevant_lines = source_file.src.count do |line|
line = line.strip # remove leading and trailing whitespaces
next if line.empty? # skip empty lines
next if line.start_with?('#') # skip comments
next removed_lines += 1 if line.start_with?('class', 'module') # skip class, module declarations
next if line == 'end' # skip ends
true
end
relevant_lines -= removed_lines
relevant_lines <= 1
end
add_filter 'vendor/gems'
add_filter 'preview/'
at_exit do
SimpleCov.formatter = SimpleCov::Formatter::SimpleFormatter
SimpleCov.result.format!
end
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I recently updated an app to the rails 8 beta to play around with it and found the simplecov analysis reports a lot of missing code coverage. Attached is an example of a controller where the rails 7 version has 100% coverage and the rails 8 version says a lot of coverage is missing. These controllers are slightly reworked but the baffling part to me is that the rails 8 version declares I'm missing coverage for things like
@user = User.new
andparams.permit
not to mention saving the user, and I definitely have request specs and feature specs covering new and create here that get me 100% coverage in the rails version.The text was updated successfully, but these errors were encountered: