在Django 1.6+中使用App Directory运行单元测试

时间:2014-07-12 17:33:19

标签: python django unit-testing

我的Django项目已经结构化,因此所有应用程序都在apps目录中。

/manage.py
/apps/events/tests.py
/apps/contacts/tests.py

这直到Django 1.6,但现在我试图运行

./manage.py test events

我收到以下错误:

  File "/Users/josephmisiti/mathandpencil/projects/xxxx/lib/python2.7/site-packages/django/test/runner.py", line 63, in build_suite
    tests = self.test_loader.loadTestsFromName(label)
  File "/usr/local/Cellar/python/2.7.6_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/loader.py", line 91, in loadTestsFromName
    module = __import__('.'.join(parts_copy))
ImportError: No module named events

我的settings.py,我在INSTALLED_APPS下有以下内容

'apps.contacts',
'apps.events',

任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

In 1.6 the command is:

$ ./manage.py test events

文档假定您的文件夹结构包含项目文件夹根目录中的每个应用程序。

但是如果您的文件夹结构不同,则需要在命令中对其进行匹配。

因此,从您的项目根目录开始,如果您有一个名为apps的文件夹,并且在那里有一个名为events的应用程序,您的命令将如下所示:

$ ./manage.py test apps.events