我正在尝试为django编写单元测试,我有一些关于fixture的问题:
我为我的整个项目数据库(不是某些应用程序)做了一个fixture,我想为每个测试加载它,因为看起来只为某些应用程序加载fixture是不够的。
我希望将灯具存储在/proj_folder/fixtures/proj_fixture.json中。
我已经在我的settings.py中设置了FIXTURE_DIRS = ('/fixtures/',)。然后在我的测试用例中我尝试
fixtures = ['proj_fixture.json']但是我的固定装置不能加载。如何解决这个问题呢?如何添加搜索灯具的位置?一般来说,是否可以为每个应用程序中的每个测试加载整个test_db的夹具(如果它非常小)?谢谢!
发布于 2010-03-18 22:46:56
你的硬盘上真的有一个文件夹/fixtures/吗?
您可能打算使用:
FIXTURE_DIRS = ('/path/to/proj_folder/fixtures/',)发布于 2010-05-30 10:47:15
我在TestCase中指定了相对于项目根的路径,如下所示:
from django.test import TestCase
class MyTestCase(TestCase):
fixtures = ['/myapp/fixtures/dump.json',]
...而且它不使用FIXTURE_DIRS就可以工作
发布于 2010-03-18 22:50:44
一个不错的做法是在settings.py中使用PROJECT_ROOT变量:
import os.path
PROJECT_ROOT = os.path.dirname(os.path.realpath(__file__))
FIXTURE_DIRS = (os.path.join(PROJECT_ROOT, 'fixtures'),)https://stackoverflow.com/questions/2470634
复制相似问题