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

Why doesn't Django's test command recognize some options?

我是 运行 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 以类似的方式失败。

我是不是漏掉了什么?如何将这些选项传递给命令?

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

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

允许使用 --keepdb 开关。