2017-12-19 7 views
0

Ich muss bestimmte Tests zum Überspringen markieren. Einige der Tests sind jedoch parametrisiert und ich muss in der Lage sein, nur bestimmte Szenarien zu überspringen.Wie kann ich ein parametrisiertes Pytest-Szenario bedingt überspringen?

Ich rufe den Test unter Verwendung py.test -m "hermes_only" oder py.test -m "not hermes_only" wie geeignet auf.

Einfache Testfälle markiert verwenden:

@pytest.mark.hermes_only 
def test_blah_with_hermes(self): 

Allerdings habe ich einige parametrisierte Tests:

outfile_scenarios = [('buildHermes'), 
        ('buildTrinity')] 

@pytest.mark.parametrize('prefix', outfile_scenarios) 
def test_blah_build(self, prefix): 
    self._activator(prefix=prefix) 

ich einen Mechanismus möchte den Szenarioliste oder auf andere Weise überspringen bestimmte Tests, wenn ein pytest filtern Markierung ist definiert.

Allgemeiner, wie kann ich für die Definition einer Pytestmarkierung prüfen?

Vielen Dank.

Antwort

1

Es gefunden! Es ist elegant in seiner Einfachheit. Ich markiere nur die betroffenen Szenarien:

outfile_scenarios = [pytest.mark.hermes_only('buildHermes'), 
        ('buildTrinity')] 

Ich hoffe, das hilft anderen.

Verwandte Themen