如何在第一步失败时继续执行测试?

问题描述:

我有测试用例。 测试用例有10个独立的步骤。 第一步失败时,另一步不执行。如何在第一步失败时继续执行测试?

我该怎么做才能继续测试?

例如:

with allure.step('Проверка, что после явной отписки освобождаются pullpoint`ы'): 
    for i in range(0, kMaxPullPoints + 5): 
    ... 
with allure.step('Проверка одновременного запроса PullMessages на один адрес подписки'): 
    cpps = CreatePullPointSubscription 
    ... 
with allure.step('Проверка максимального количества подключений клиентов'): 
    def start_th(): 
    ... 

这就是所谓的deferred asserts
你需要用断言和捕捉异常,常见的技术。或者写一个python decorator或只是function。 在python中,你可以使用try/catch。另外,在不同的测试用例中,但在相同的测试套件中(例如,如果它们检查相同的模块),最好有10个独立的步骤。
Simple rule 1 test - 1 check.

作为一个解决方案py.test可以使用
http://pythontesting.net/pytest-expect/

+0

,我可以歌厅一步失败堆栈跟踪?如在普通的putest失败? –