redundant-unittest-assert / W1503#

Message emitted:

Redundant use of %s with constant value %r

Description:

The first argument of assertTrue and assertFalse is a condition. If a constant is passed as parameter, that condition will be always true. In this case a warning should be emitted.

Problematic code:

import unittest


class DummyTestCase(unittest.TestCase):
    def test_dummy(self):
        self.assertTrue("foo")  # [redundant-unittest-assert]

Correct code:

import unittest


class DummyTestCase(unittest.TestCase):
    def test_dummy(self):
        actual = "test_result"
        self.assertEqual(actual, "expected")

Additional details:

Directly asserting a string literal will always pass. The solution is to test something that could fail, or not assert at all.

For assertions using assert there are similar messages: assert-on-string-literal / W0129 and assert-on-tuple / W0199.

Related links:

Created by the stdlib checker.