为什么Django的测试命令不能识别某些选项?

时间:2016-04-06 07:39:08

标签: django django-testing django-manage.py

我在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也会以类似的方式失败。

我在这里遗漏了什么吗?如何将这些选项传递给命令?

1 个答案:

答案 0 :(得分:3)

我遇到了类似的问题,问题是在项目设置中将TEST_RUNNER设置为django_nose。所以在../settings/local.py中,注释掉或删除它:

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

允许使用--keepdb开关。