Unit-test-Skript gibt exit-code = 0, auch wenn tests fehlschlagen

Mein Test-script sieht wie folgt aus:

import os
import sys
from unittest import defaultTestLoader as loader, TextTestRunner

path_to_my_project = os.path.dirname(os.path.abspath(__file__)) + '/../'
sys.path.insert(0, path_to_my_project)

suite = loader.discover('my_project')
runner = TextTestRunner()
runner.run(suite)

Wenn ich dieses Skript ausführen, wird die Ausgabe:

$ python3 runtest.py
.....F.....
======================================================================
FAIL: test_insert (fate.test.test_operators.OperatorTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/chiel/Projects/tfate/libs/fate/../fate/test/test_operators.py", line 16, in test_insert
    self.assertEqual(expected, self.session.text[:14])
AssertionError: 'Foo import sys$' != 'Foo import sys'
- Foo import sys$
?               -
+ Foo import sys


----------------------------------------------------------------------
Ran 12 tests in 0.030s

FAILED (failures=1)

- Und exit-code null:

$ echo $?
0

Jedoch die python docs Staat, die "standardmäßig wichtigsten Anrufe sys.exit() mit exit-code, der Erfolg oder Misserfolg des tests."

Was falsch ist mit meinem Skript?

Schreibe einen Kommentar