【发布时间】:2011-01-29 01:30:41
【问题描述】:
我正在尝试开始为 django 编写单元测试,但我对固定装置有一些疑问:
我为我的整个项目数据库(不是某些应用程序)制作了一个夹具,我想为每个测试加载它,因为看起来只为某些应用程序加载夹具是不够的。
我想将夹具存储在/proj_folder/fixtures/proj_fixture.json。
我在我的 settings.py 中设置了FIXTURE_DIRS = ('/fixtures/',)。
然后在我的测试用例中我正在尝试
fixtures = ['proj_fixture.json']
但我的装置无法加载。 如何解决? 如何添加搜索灯具的地方? 一般来说,是否可以为每个应用程序中的每个测试加载整个 test_db 的夹具(如果它非常小)? 谢谢!
【问题讨论】:
-
也许你可以使用相对路径?喜欢
["../../fixtures/proj_fixture.json"]。 -
我试过了,但是没用。Django只在proj_folder/app_folder/fixtures中搜索fixtures
-
对于那些后来发现的...这里是文档:docs.djangoproject.com/en/2.0/topics/testing/tools/… -- 在我看来,这里的具体问题是 OP 为
FIXTURE_DIRS提供的值似乎是一个绝对路径,当它可能是项目根目录的相对路径时。
标签: django unit-testing fixtures