【发布时间】:2016-04-06 07:39:07
【问题描述】:
我正在 Django 1.8.12 上运行一个项目,我想在运行之间将测试数据库保留为 described in the documentation。即使test 命令本身在帮助文本中列出了-k/--keepdb 选项,使用它也会失败:
vagrant@vagrant /vagrant/project (master) $ python manage.py test -k myapp.tests.testcase
nosetests myapp.tests.testcase -k --verbosity=1
Usage: manage.py [options]
manage.py: error: no such option: -k
vagrant@vagrant /vagrant/project (master) $ python manage.py test --keepdb myapp.tests.testcase
nosetests myapp.tests.testcase --keepdb --verbosity=1
Usage: manage.py [options]
manage.py: error: no such option: --keepdb
使用其他选项调用相同的命令,例如-q 或 --failfast 工作正常。另一方面,其他一些列出的选项(例如 --no-color)以类似的方式失败。
我在这里遗漏了什么吗?如何将这些选项传递给命令?
【问题讨论】:
-
你是在测试中使用
django.test.TestCase,还是unittest.TestCase? -
我正在使用
django.test.TestCase,但我认为这并不重要,因为它们很可能永远不会被调用,错误会在此之前终止执行。当使用-k选项时,切换到unittest.TestCase或定义class TestCase(object): pass会导致相同的错误消息。 -
您可以在其他应用程序中运行测试,还是它们也会失败? Django 1.8 source 确实知道。
-
尝试在同一个 Django 项目中的其他应用程序中运行测试时,我确实遇到了同样的错误。
标签: django django-testing django-manage.py