Adding Test Coverage to Console Tests #999
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why?
We're looking to shed light on parts of the codebase that could use more tests.
Assumptions
debug
isn't a default gem?How?
simplecov
as our coverage library because it creates an easy-to-read HTML report.ENV["COVERAGE"]
is present.test/support/simplecov_rdbg.rb
instead ofexe/rdbg
. This script will:simplecov
.simplecov
related calls.(We need to clear previous results before each run with
rm -rf coverage
to ensure accuracy for now, but it can easily be turned into a Rake task.)Issues
We've run into a few issues during the prototyping phase:
simplecov
relies on theat_exit
hook to generate results, which means that test cases can't usekill!
to terminate processes.kill!
withquit!
, this may not be a big issue.simplecov
runs alongside them. We can mitigate this to some extent by setting theskip_path
config.simplecov
, leading to timeouts. In addition to that, the entire test suite runs slower, which isn't ideal for developers.