Я пишу свои первые тесты Flask с помощью unittest. На данный момент у меня есть три простых теста, примерно так:
def setUp(self):
app = create_app()
self.app = app.test_client()
def test_1(self):
response = self.app.get('/', follow_redirects=True)
self.assertEqual(response.status_code, 200)
def test_2(self):
response = self.app.get('/endpoint1', follow_redirects=True)
self.assertEqual(response.status_code, 200)
def test_3(self):
headers = { "API-KEY": "myKey", "Accept": "application/xml"
response = self.app.get('/endpoint1', follow_redirects=True, headers=headers)
self.assertEqual(response.status_code, 200)
Во время отладки последнего теста я заметил, что большинство его операторов print никогда не появляются на моей консоли. Я знаю, что это место в моем коде, которое возвращает 403, но операторы печати, приводящие к этому оператору возврата, похоже, как-то усекаются.
Все операторы печати из первых двух тестов выводятся на мою консоль.
Даже если я изменю порядок тестов, операторы печати из последнего всегда кажутся усеченными.
Может ли случиться так, что при выполнении финального теста инфраструктура unittest завершит работу сервера, прежде чем сервер получит возможность завершить вывод своих (буферизованных?) Операторов печати на консоль?