Make the RuboCop::Minitest::Test suite re-usable by gem consumers #278
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.
I've been writing custom cops for various jobs for a while now, but I've never had a consistent way to write tests for products that use minitest as the test suite (officially Rubocop only provides
rspec
helpers) , I started to look around to see what this Gem did and figured it would make sense to makerubocop-minitest
provide a minitest class for others that write custom cops for their own code bases.This does a couple of things
Rubocop::Minitest::Test
class that includes the code fromassert_offense
(I don't feel like it needs to be a module), and it also uses declarative testing for people to use.Minitest::Test
def test_something_does_something...end
you can dotest "something does something" do...end
which makes it easier to read test names.I tested this locally in an app of mine and it works great! So it can allow a consistent way for people to write custom cops and easily test them!
Before submitting the PR make sure the following are checked:
[Fix #issue-number]
(if the related issue exists).master
(if not - rebase it).bundle exec rake default
. It executes all tests and runs RuboCop on its own code.{change_type}_{change_description}.md
if the new code introduces user-observable changes. See changelog entry format for details.