Django 1.4说“没有指定数据库夹具。请在命令行中提供至少一个夹具的路径。”

时间:2012-05-12 16:01:13

标签: django unit-testing fixtures

虽然所有测试都完成但没有错误,并且实际加载了灯具。这是Django 1.4问题吗?

请注意,只有部分应用程序会引发此错误消息(应用程序的单元测试与其相应的灯具之间没有概念上的区别)。

更新1: fasttest.py 内容:

DATABASES = {'default':
  {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': ':memory:',
  }
}

~/django_project$ ./manage.py test appname --traceback --settings=fasttest
Creating test database for alias 'default'...
.....................No database fixture specified. Please provide the path of at least one fixture in the command line.
 .
----------------------------------------------------------------------
Ran 22 tests in 8.426s

OK
Destroying test database for alias 'default'...

更新2:显然评论虽然我感谢尝试,但只是在黑暗中拍摄。 数据库无关紧要,SQLite3和Postgres测试DB都无法解决问题。

1 个答案:

答案 0 :(得分:7)

我在1.4以下的测试装置上遇到了同样的问题。

对我来说,我有一个测试用例,我没有使用灯具,因此我将灯具设置为这样的空集:

class MyTestCase(TestCase):
    fixtures = []

当我注释掉那一行时,错误就消失了:

class MyTestCase(TestCase):
#    fixtures = []