在django单元测试中加载装置
我正在尝试开始为django编写单元测试,并且遇到一些关于fixtures的问题:
我做了我的整个项目数据库(不是某些应用程序)的夹具,我想为每个测试加载它,因为它看起来像只加载某些应用程序的夹具是不够的。
我想将夹具存储在/proj_folder/fixtures/proj_fixture.json中。
我在FIXTURE_DIRS = ('/fixtures/',)
设置了FIXTURE_DIRS = ('/fixtures/',)
。 然后在我的测试用例中,我正在尝试
fixtures = ['proj_fixture.json']
但我的灯具不加载。 这怎么解决? 如何添加搜索灯具的地方? 一般来说,为每个应用程序中的每个测试加载整个test_db的fixture是否可以(如果它很小)? 谢谢!
你真的有一个文件夹/fixtures/
在你的硬盘上?
您可能打算使用:
FIXTURE_DIRS = ('/path/to/proj_folder/fixtures/',)
我已经在TestCase中指定了相对于项目根的路径,如下所示:
from django.test import TestCase
class MyTestCase(TestCase):
fixtures = ['/myapp/fixtures/dump.json',]
...
并且它没有使用FIXTURE_DIRS
良好的做法是在settings.py中使用PROJECT_ROOT变量:
import os.path
PROJECT_ROOT = os.path.dirname(os.path.realpath(__file__))
FIXTURE_DIRS = (os.path.join(PROJECT_ROOT, 'fixtures'),)
链接地址: http://www.djcxy.com/p/52297.html