This PR adds new Minitest/NonExecutableTestMethod cop, which checks for the use of test methods outside of a test class. Test methods should be defined within a test class to ensure their execution.
NOTE: This cop assumes that classes whose superclass name includes the word "Test" are test classes, in order to prevent false positives.
# bad
class FooTest < Minitest::Test
end
def test_method_should_be_inside_test_class
end
# good
class FooTest < Minitest::Test
def test_method_should_be_inside_test_class
end
end
Before submitting the PR make sure the following are checked:
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.
Resolves #279.
This PR adds new
Minitest/NonExecutableTestMethod
cop, which checks for the use of test methods outside of a test class. Test methods should be defined within a test class to ensure their execution.NOTE: This cop assumes that classes whose superclass name includes the word "
Test
" are test classes, in order to prevent false positives.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.