Я прочитал несколько сообщений, в которых говорится, что если вы вызываете свои юнит-тесты с помощью unittest.main (), они должны выйти с кодом ошибки, если они потерпят неудачу. Я называю свои юнит-тесты командой: python -m unittest discover -v
. Я использую Python 3.6.6. Пример юнит-теста может выглядеть так:
from server import app
import unittest
class ServerTestCase(unittest.TestCase):
"""
Unittesting for the server application.
"""
def setUp(self):
"""
Create a test client
"""
self.app = app.test_client()
self.app.testing = True
def tearDown(self):
pass
def test_root_endpoint(self):
"""
Testing the root endpoint
"""
result = self.app.get('/')
self.assertEqual(result.status_code, 200)
def test_health_endpoint(self):
"""
Testing the health endpoint
"""
result = self.app.get('/health')
assert b'UP' in result.data
if __name__ == '__main__':
unittest.main()
Даже если один из моих тестов не пройден, я получаю это при проверке кода выхода:
$ echo $?
0
Что я делаю не так?