Voorwaardelijk overslaan
Soms wil je een test overslaan als aan een bepaalde voorwaarde is voldaan. Bijvoorbeeld: je wilt een test uitvoeren, behalve als het vandaag zaterdag is. In dat geval kun je de datetime-bibliotheek gebruiken om de huidige weekdag op te halen en de pytest-marker om de testfunctie voorwaardelijk over te slaan. Om een voorwaarde door te geven aan de pytest-marker voor voorwaardelijk overslaan, kun je @pytest.mark.skipif(condition) gebruiken.
De pytest-bibliotheek is al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Introductie tot testen in Python
Oefeninstructies
- Voeg de "conditional skip"-decorator toe om dit te laten werken.
- Voeg de
condition_stringtoe aan de decorator-aanroep. - Maak de assert-tests af.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
day_of_week = datetime.now().isoweekday()
def get_unique_values(lst):
return list(set(lst))
condition_string = 'day_of_week == 6'
# Add the conditional skip marker and the string here
____.____.____(____)
def test_function():
# Complete the assertion tests here
____ ____([1,2,3]) == [1,2,3]
____ ____([1,2,3,1]) == [1,2,3]