хоботок расширение носа, что облегчает тестирование высокий уровень.
Изменения, как тестовые классы обнаруженные заставляя их помощью декораторов зарегистрируйтесь, которые содержат полезную метаданные, такие как то, что они входят в, есть ли у них зависимость от других тестов, и если они должны быть проигнорированы.
Хоботок сортирует все зарегистрированные тесты в желаемом порядке выполнения, то строит тестовый набор, который он проходит к носу. Она также может фильтровать этот список, так что это можно указать, какие группы тестов вы хотите запустить без прохождения в точных тестовых классов. Во время выполнения тестов, которые зависят от других тестов, которые не смогли автоматически помечается как пропустил.
Большая часть этой функциональности была "вдохновил" на TestNG. Если вы едете с этих рамках, основные черты Хоботок настоящее время предложения зависят порядок проверки (в настоящее время ограничивается до уровня класса) и способность организовать тесты в группах независимо от структуры их модулей или пакетов.
С хоботок это возможно, чтобы написать тесты, которые зависят от веб-сервиса (или какой-либо другой зависимости вы хотели бы только инициализировать один раз), как это:
test (группы = [""] service.tests, depends_on_groups = ["service.initialization"])
& NBSP; & NBSP; & NBSP; класс WhenConnectingAsAdmin (unittest.TestCase):
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Def test_change_profile_image (само):
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; self.client = mymodule.ServiceClient (service_config)
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; self.assertEquals ("default.jpg", self.client.get_profile_image ())
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; self.client.set_profile_image ("spam.jpg")
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; self.assertEquals ("spam.jpg", self.client.get_profile_image ())
Затем написать код для запуска и чисто закрыли, что веб-сервис в любом другом модуле, как и сама первого теста класса:
test (группы = ["service.initialization"])
& NBSP; & NBSP; & NBSP; класс StartWebServer (unittest.TestCase):
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Def test_start (само):
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; # Запуск веб-сервер, а затем выдает соединения.
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; mymodule.start_web_server ()
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Клиент = mymodule.ServiceClient (service_config)
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; self.assertTrue (client.service_is_up)
& NBSP; & NBSP; & NBSP; test (группы = ["service.shutdown"], \
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; depends_on_groups = ["service.initialization", "service.tests"], \
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; never_skip = True)
& NBSP; & NBSP; & NBSP; класс StopService (unittest.TestCase):
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Def test_stop (само):
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Клиент = mymodule.ServiceClient (service_config)
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; если client.service_is_up:
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; mymodule.stop_web_server ()
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; self.assertFalse (client.service_is_up ())
Использование хоботок вы можете быть уверены, что тесты будут выполняться в нужном порядке, даже если вы добавляете больше тестовые классы, изменить свое имя или переместить их в различных модулей
Требования :.
- Python
- нос
Комментарии не найдены