Problems with assert when using helper method in pytest when starting tests trough PyCharm

Viewed 197

If the second parameter of assert is used normally it prints it out debug information. E.g. with the following code:

class TestTest:
    def test_test(self):
        assert 1 == 2, "TEST"

The following debug information is printed:

tests\test_test.py:1 (TestTest.test_test)
1 != 2

Expected :2
Actual   :1
<Click to see difference>

self = <tests.test_test.TestTest object at 0x000002147E5B1B08>

    def test_test(self):
>       assert 1 == 2, "TEST"
E       AssertionError: TEST
E       assert 1 == 2
E         +1
E         -2

test_test.py:3: AssertionError

However, if the assert happens in a helper function, this is not printed:

class TestTest:
    def test_test(self):
        self.verify(1)

    def verify(self, parameter):
        assert 1 == 2, "TEST"

results in:

tests\test_test.py:1 (TestTest.test_test)
1 != 2

Expected :2
Actual   :1
<Click to see difference>

self = <tests.test_test.TestTest object at 0x000002AFDF1D5AC8>

    def test_test(self):
>       self.verify(1)

test_test.py:3:

So the stack trace is incomplete and the debug information not shown.

UPDATE: This only happens when starting the test through PyCharm (2021.3).

Is there any way to fix this?

0 Answers
Related