zsq*_*are 17 django django-views
我已经为我正在处理的Django项目编写了测试,但是一个特定的夹具无法加载.使用dumpdata生成夹具,我根本没有摆弄它.我可以使用manage.py在该夹具上加载数据而不会出现错误.我已经验证了使用shell实际加载的数据并查询了数据.这让我疯了,任何帮助都会非常感激.
这是我的测试文件(删除了不相关的部分):
class ViewsFromUrls(TestCase):
fixtures = [
'centers/fixtures/test_data.json',
'intranet/fixtures/test_data.json',
'training/fixtures/test_data.json', #The one that fails to load
]
def setUp(self):
self.c = Client()
self.c.login(username='USER', password='PASS')
...
def test_ViewBatch(self):
b = Batch.objects.all()[0].ticket_number
response = self.c.get(reverse('training.views.view_batch', kwargs={'id':b}))
self.assertTrue(response.status_code, 200)
...
Run Code Online (Sandbox Code Playgroud)
Joh*_*Mee 35
从django.test以下位置导入TestCase :
from django.test import TestCase
class test_something(TestCase):
fixtures = ['one.json', 'two.json']
...
Run Code Online (Sandbox Code Playgroud)
import unittestimport django.utils.unittestimport django.test那是一个令人沮丧的日子.停止抱怨 - 它在文档中: - /
我不确定这是否可以解决您的问题,但在此网站上:
https://code.djangoproject.com/wiki/Fixtures
我发现了一个有趣的评论:
你看到Django搜索appnames/fixtures和settings.FIXTURE_DIRS并加载第一个匹配.因此,如果您使用像testdata.json这样的名称作为灯具,则必须确保没有其他活动应用程序使用具有相同名称的灯具.如果没有,你永远无法确定你实际装载的装置.因此,建议您使用应用程序名称为灯具添加前缀,例如myapp/fixtures/myapp_testdata.json.
应用这个(用appname重命名灯具作为文件名中的前缀),解决了我的问题(我遇到了与此处描述的相同的问题)