Я делаю тесты конечной точки и проверяю, введены ли заголовки. У меня есть несколько файлов unittest, таких как: структура фиктивной папки
tests / test1 / one_test.py выглядит так:
class HeaderTest(unittest.TestCase):
def setUp(self):
self.__headers = {
"Content-Type": "application/json",
"required1": "123",
"required2": "3213",
"Content-Language": "en"
}
self.__params = {
"id": "someId"
}
self.__link = "someLink"
def test_not_missing(self):
response = requests.get(
self.__link,
params=self.__params,
headers=self.__headers)
self.assertEqual(200,response.status_code)
tests / test1 / two_test.py выглядит следующим образом:
class HeaderTest(unittest.TestCase):
def setUp(self):
self.__headers = {
"Content-Type": "application/json",
"required2": "3213",
"Content-Language": "en"
}
self.__params = {
"id": "someId"
}
self.__link = "someLink"
def test_without_required1(self):
response = requests.get(
self.__link,
params=self.__params,
headers=self.__headers)
self.assertEqual(400,response.status_code)
Я пытаюсь выполнить все эти юнит-тесты одной командой: python -m unittest Discover -s tests -p '* _test.py' Когда я делаю это one_test.py, он проходит тест, который я ожидал, но two_test.py он не проходит тест, он возвращает 200, что равно one_test.py response.status_code. Это должно быть 400. Однако, когда я запускаю этот файл индивидуально. с помощью этой команды: python -m unittest two_test Это работа, как я и ожидал. В чем проблема? Я использовал метод tearDown. Я попытался self.__headers = None
после строки ответа, но все еще не работал. Любая помощь будет оценена.