2017-10-20 7 views
1

J'ai un test. Le test élémentaire comporte 10 étapes indépendantes. Lorsque la première étape a échoué, une autre étape n'est pas exécutée.Comment puis-je continuer à exécuter des tests lorsque la première étape échoue?

Comment puis-je faire pour continuer le test?

exemple:

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

Répondre

2

Il est technique commune appelée deferred asserts
Vous devez envelopper Affirmer et attraper une exception. Ou écrivez un python decorator ou simplement function. En python, vous pouvez le faire avec try/catch.

De plus, il est préférable d'avoir 10 étapes indépendantes dans différents cas de test mais dans la même suite de tests (si elles vérifient le même module par exemple).
Simple rule 1 test - 1 check.

En ce qui concerne une solution pour py.test vous pouvez utiliser
http://pythontesting.net/pytest-expect/

+0

Et puis-je geting la trace de la pile d'échec de l'étape? comme dans l'échec du putest ordinaire? –