2017-09-28 1 views

Répondre

2

Vous pouvez toujours return de votre test sur la base de certaines conditions, ce qui le ferait sortir sans exécuter le code qui suit.

Vous pouvez exécuter des tests de manière sélective dans pytest à des fins de débogage, si c'est ce que vous entendez -

py.test mytestfile.py -k <pattern> 

Sinon, la chose est des gens n'aiment pas vraiment passer trop de temps à des tests de fixation. Les tests doivent donc être très simples et bien écrits même plus que le code qu'ils testent, car personne ne va écrire des tests pour tester les tests. Même si un tel comportement aléatoire était possible, je ne le recommanderai pas.

+0

le L'instruction 'return' fait le travail. – rbs

0

Pour pytest, il y a beaucoup de sauter des capacités, consultez pytest skip docs

Mais si vous utilisez unittest, de la même façon, vous pouvez sauter manuellement avec un décorateur avant de lancer le test, quelque chose comme:

@unittest.skip("Skipping test_myFunction test"): 
def test_myFunction(self): 
    assert(testing_definition) 

ou tout simplement mettre une condition qui peut être mis en correspondance soit en interne à la fonction ou le constructeur unittest.TestCase:

# @unittest.skip("Skipping test_myFunction test"): 
def test_myFunction(self): 
    condition = self.condition # or however you define 
    if condition: 
     assert(testing_definition) 
    else: 
     print("Internal skip of test_myFunction where condition = {}".format(condition)"