条件付きスキップ
ある条件を満たしたときにテストをスキップしたいことがあります。たとえば、今日は土曜日でない限りテストを実行したい、といった場合です。このときは、datetime ライブラリで現在の曜日を取得し、pytest のマーカーで条件付きにテスト関数をスキップできます。条件付きスキップ用の pytest マーカーに条件を渡すには、@pytest.mark.skipif(condition) を使います。
pytest ライブラリはすでにインポート済みです。
この演習はコースの一部です
Pythonによるテスト入門
演習の手順
- 「条件付きスキップ」デコレータを追加して動作させてください。
- デコレータ呼び出しに
condition_stringを追加してください。 - アサーションテストを完成させてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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]