Testing demo: pytest using classes - failure
Here too we can add additional test-functions to the same test-class.
Executing pytest
will print .F
indicating one passing test-function and one failing test function.
We'll get detailed explanation where the failure happened.
The exit-code will be different from 0 helping the CI systems and any other external system to know that the tests have failed.
import mymath
class TestMath():
def test_math(self):
assert mymath.add(2, 2) == 4
def test_more_math(self):
assert mymath.add(3, 3) == 6
============================= test session starts ==============================
platform linux -- Python 3.8.2, pytest-5.4.2, py-1.8.1, pluggy-0.13.1
rootdir: /home/gabor/work/slides/python/examples/testing-demo
plugins: flake8-1.0.6
collected 2 items
test_with_pytest_class_failure.py .F [100%]
=================================== FAILURES ===================================
___________________________ TestMath.test_more_math ____________________________
self = <test_with_pytest_class_failure.TestMath object at 0x7fcddf82b7c0>
def test_more_math(self):
> assert mymath.add(3, 3) == 6
E assert 9 == 6
E + where 9 = <function add at 0x7fcddf82a0d0>(3, 3)
E + where <function add at 0x7fcddf82a0d0> = mymath.add
test_with_pytest_class_failure.py:8: AssertionError
=========================== short test summary info ============================
FAILED test_with_pytest_class_failure.py::TestMath::test_more_math - assert 9...
========================= 1 failed, 1 passed in 0.03s ==========================
$ pytest test_with_pytest_class_failure.py
$ echo $?
1
> pytest test_with_pytest_class_failure.py
> echo %ERRORLEVEL%
1