如何在Django中强行跳过单元测试?
@skipif和@skipunless是我找到的全部内容,但我只想暂时跳过测试以进行调试,同时我还能解决一些问题。
答案 0 :(得分:108)
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
或其他工具并运行特定测试。
答案 1 :(得分:45)
Django 1.10 allows use of tags用于单元测试。然后,您可以使用role: {model: 'role'}
标记排除某些标记:
--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