Djangoで単体テストを強制的にスキップするにはどうすればよいですか?
@skipifと@skipunlessがすべて見つかりましたが、デバッグのためにテストをスキップしたいのですが、いくつかのことを明確にしています。
Djangoで単体テストを強制的にスキップするにはどうすればよいですか?
@skipifと@skipunlessがすべて見つかりましたが、デバッグのためにテストをスキップしたいのですが、いくつかのことを明確にしています。
回答:
Pythonのunittestモジュールにはいくつかのデコレータがあります:
プレーンな古いものがあります@skip
:
from unittest import skip
@skip("Don't want to test")
def test_something():
...
@skip
なんらかの理由で使用できない場合は、動作する@skipIf
はずです。常に引数をスキップするようにだましてくださいTrue
:
@skipIf(True, "I don't want to run this test yet")
def test_something():
...
特定のテストファイルを単に実行しない場合は、fab
または他のツールを使用して特定のテストを実行するのが最善の方法です。
@skip
。
Django 1.10 では、単体テストにタグを使用できます。その後、--exclude-tag=tag_name
フラグを使用して特定のタグを除外できます。
from django.test import tag
class SampleTestCase(TestCase):
@tag('fast')
def test_fast(self):
...
@tag('slow')
def test_slow(self):
...
@tag('slow', 'core')
def test_slow_but_core(self):
...
上記の例では、「slow
」タグを含むテストを除外するには、次のように実行します。
$ ./manage.py test --exclude-tag=slow
--exclude-tag
たとえば--include-tag
、このコマンドは存在しません。