我django_nose
用来运行我的测试。我有一个固定装置initial_data.json
,它是一个应用程序的文件夹:my_app/fixtures/initial.json
。
夹具在使用时加载正常python manage.py syncdb
,但在运行测试时根本不加载python manage.py test my_app
(虽然我猜它应该加载!?)。任何指向可能是错误的指针?
我引用官方文档:
一旦您创建了一个夹具并将其放置在您的一个 INSTALLED_APPS 中的夹具目录中,您就可以通过在 django.test.TestCase 子类上指定一个夹具类属性来在单元测试中使用它:
from django.test import TestCase
from myapp.models import Animal
class AnimalTestCase(TestCase):
fixtures = ['mammals.json', 'birds']
def setUp(self):
# Test definitions as before.
call_setup_methods()
def testFluffyAnimals(self):
# A test that uses the fixtures.
call_some_test_code()
我有类似的症状,但有不同的解决方案。我正在运行我的测试,py.test
而不是manage.py test
.
在appname/fixtures
我有initial_data.json
和foo.json
。我的测试看起来像这样:
from django.test import TestCase
class TestFoo(TestCase):
fixtures = ['initial_data.json', 'foo.json']
...
但是,当我运行测试时,initial_data.json
并没有加载,而是加载foo.json
了。
对我来说,解决方案是重命名initial_data.json
为base.json
,然后加载夹具。
我不认为这是原始发布者的问题,但发布此问题以便下一个与我有相同问题的人可以找到一些东西。:)