Avoid deprecated TestCase method aliases

Dont use deprecated TestCase assertions like self.assertEquals. Use their modern counterpart instead like self.assertEqual.

For historical reasons, some TestCase methods had one or more aliases that are now deprecated.

Use the standardised assertions so the code is simpler, easier to read, and more future-proof (because an implication of deprecation is it will eventually be removed).

DeprecatedStandardised
assertEqualsassertEqual
failUnlessEqualassertEqual
failIfEqualassertNotEqual
assertNotEqualsassertNotEqual
failUnlessassertTrue
assert_assertTrue
failIfassertFalse
failUnlessRaisesassertRaises
failUnlessAlmostEqualassertAlmostEqual
assertAlmostEqualsassertAlmostEqual
assertNotAlmostEqualsassertNotAlmostEqual
failIfAlmostEqualassertNotAlmostEqual
assertRegexpMatchesassertRegex
assertNotRegexpMatchesassertNotRegex
assertRaisesRegexpassertRaisesRegex

If our GitHub code review bot spots this issue in your pull request it gives this advice:

code-review-doctorbotsuggested changes just now
tests.py
1
+
class TestFeature(unittest.TestCase):
2
+
    def test_feature(self):
3
+
        self.assertEquals(int('1'), 1)
Suggested changes
-
        self.assertEquals(int('1'), 1)
+
        self.assertEqual(int('1'), 1)
Commit suggestion

Dont use deprecated TestCase assertions like self.assertEquals. Use their modern counterpart instead like self.assertEqual.

Read more
Update tests.py
We're your Python code review copilot. Get code improvements right in your pull request with our GitHub code review bot.

Configuring this check

Code Review Doctor will run this check by default. No configuration is needed but the check can be turned on/off using check code avoid-deprecated-testcase-aliases in your pyproject.toml file.

Read more about configuring Code Review Doctor.