Pytest failing test separated
Instead of putting the two asserts in the same test function we could also put them in separate onese like in this example.
examples/pytest/math/test_mymath_more_separate.py
import mymath def test_add(): assert mymath.add(2, 2) == 4 def test_again(): assert mymath.add(2, 3) == 5
The result of running this test file shows that it collected 2 items as there were two test functions.
Then next to the test file we see a dot indicating the successful test case and an F indicating the failed test. The more detailed test report helps.
At the bottom of the report you can also see that now it indicates 1 failed and 1 passed test.
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
rootdir: /home/gabor/work/slides/python/examples/pytest/math
plugins: flake8-1.0.6, dash-1.17.0
collected 2 items
test_mymath_more_separate.py .F [100%]
=================================== FAILURES ===================================
__________________________________ test_again __________________________________
def test_again():
> assert mymath.add(2, 3) == 5
E assert 6 == 5
E + where 6 = <function add at 0x7f4bfffa2c10>(2, 3)
E + where <function add at 0x7f4bfffa2c10> = mymath.add
test_mymath_more_separate.py:8: AssertionError
=========================== short test summary info ============================
FAILED test_mymath_more_separate.py::test_again - assert 6 == 5
========================= 1 failed, 1 passed in 0.03s ==========================