1

django_nose用来运行我的测试。我有一个固定装置initial_data.json,它是一个应用程序的文件夹:my_app/fixtures/initial.json

夹具在使用时加载正常python manage.py syncdb,但在运行测试时根本不加载python manage.py test my_app(虽然我猜它应该加载!?)。任何指向可能是错误的指针?

4

2 回答 2

3

我引用官方文档

一旦您创建了一个夹具并将其放置在您的一个 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()
于 2012-09-19T14:21:16.610 回答
2

我有类似的症状,但有不同的解决方案。我正在运行我的测试,py.test而不是manage.py test.

appname/fixtures我有initial_data.jsonfoo.json。我的测试看起来像这样:

from django.test import TestCase

class TestFoo(TestCase):

    fixtures = ['initial_data.json', 'foo.json']

    ...

但是,当我运行测试时,initial_data.json并没有加载,而是加载foo.json了。

对我来说,解决方案是重命名initial_data.jsonbase.json,然后加载夹具。

我不认为这是原始发布者的问题,但发布此问题以便下一个与我有相同问题的人可以找到一些东西。:)

于 2014-11-19T01:10:20.983 回答