Мне нужно написать тест с несколькими процедурами, которые проверяют несколько вариантов использования (этапов).
Для каждого шага это может быть подэтап.
Каждый шаг / подэтап проверяет что-то еще, например:
Procedure 1 :
Step 1 : Verify something
Step 2 : Compare ....
Sub-step 2.1 : Compare ...
Sub-step 2.2 : Compare ...
Step 3 : Configure ....
Каждый шаг или подэтап может завершиться неудачей / пройти, и тест будет продолжен в обычном режиме.
Step 1 : Verify something - PASS
Step 2 : Compare .... - FAIL
Sub-step 2.1 : Compare ... - PASS
Sub-step 2.2 : Compare ... - FAIL
Step 3 : Configure .... - PASS
Также мне нужно, чтобы результаты были в интерактивном HTML-файле результатов (я использовал Allure)
шаг за шагом с результатами и информацией для каждого шага.
Я пытался использовать Pytest и Allure (для интерактивного файла отчета о результатах HTML), но для представления ошибки мне нужно использовать Assert, и исключение Assert вызывает немедленный сбой теста.
Существует ли какая-либо другая инфраструктура, кроме Allure, которая может помочь мне создать файл отчета HTML на высоком уровне и представить ошибку не так, как Assert?
Есть ли способ заставить Allure показывать сбой без использования Assert?
def test_procedure_1(self):
with allure.step("1. Configure "):
Assert 0
with allure.step("2. prints"):
Assert 1
with allure.step("3. attached"):
Assert 0
with allure.step("4. compare"):
Assert 1
Другой пример:
def test_procedure_2(self):
with self.subTest("step 1:"):
Assert 0
with self.subTest("step 1.1:"):
Assert 1
with self.subTest("step 1.1.1:"):
Assert 1
with self.subTest("step 1.1.1.1:"):
Assert 0
with self.subTest("step 2:"):
Assert 1