当第一步失败时,我如何继续执行测试?

时间:2017-10-20 13:13:52

标签: python pytest allure

我有测试用例。 测试用例有10个独立的步骤。 当第一步失败时,另一步不执行。

如何继续测试?

示例:

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

1 个答案:

答案 0 :(得分:2)

它的常用技术称为deferred asserts
您需要包装断言并捕获异常。或者写一个python decoratorfunction。 在python中,您可以使用try/catch

此外,10个独立的步骤可以更好地在不同的测试用例中但在同一个测试套件中(例如,如果他们检查相同的模块)。
Simple rule 1 test - 1 check.

至于py.test的解决方案,你可以使用
http://pythontesting.net/pytest-expect/