Open DougEdey opened 1 year ago
This makes a lot of sense to me and I'd love to use it.
If this is being exposed like this then I think it needs some documetation on how to pass global and cop specific config to a test.
See https://github.com/rubocop/rubocop-minitest/blob/b446022ea09b3f5558df9c0106c9e714c6fc1ec5/test/rubocop/cop/minitest/global_expectations_test.rb#L504-L513 and https://github.com/rubocop/rubocop-minitest/blob/b446022ea09b3f5558df9c0106c9e714c6fc1ec5/test/rubocop/cop/minitest/multiple_assertions_test.rb#L339-L343
@Earlopain Updated the casing of RuboCop
, updated the sample docs (both inline and README.md
), handling the nil case for @cop
Squashed commits and confirmed CI is passing locally
@koic 👋 Could I ask for a review?
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.