хоботок розширення носа, що сприяє більш високою перевіряючи рівень.
Зміни, як тестові класи виявлені змушуючи їх реєстрації за допомогою декораторів, які містять корисну метадані, такі як, в які групи вони знаходяться, чи є у них залежності від інших тестів, і якщо вони повинні бути проігноровані.
Хоботок сортує всі зареєстровані тести в бажаному порядку виконання потім створює набір тестів, які він проходить до носа. Воно також здатне фільтрувати цей список, так що це можна вказати, які групи тестів ви хочете запустити без проходження в точних тестових класів. Під час виконання тестів, які залежать від інших тестів, які не змогли автоматично позначаються як пропущений.
Велика частина цієї функціональності була "надихнув" на 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
- ніс
Коментар не знайдено