开发者

Django ignoring fixtures when run from tests

开发者 https://www.devze.com 2023-02-22 00:27 出处:网络
I have a simple class in a Django app called \"project\" from django.test import TestCase class ProjectTest(TestCase):

I have a simple class in a Django app called "project"

from django.test import TestCase

class ProjectTest(TestCase):
"""Unit tests for the "Project" app """

fixtures = ['test_data.json', ]

def setUp(self):
    pass

def testTotalAmountOfWhuffie(self):
    """Tests that the calculation to find the total amount of Whuffie allocated is correct."""
    pass

if __name__ == '__main__':
    unittest.main()

and when I run

manage.py test project

it completely ignores the fixtures. If I rename the file to initial_data.json it gets picked up by the test runner, so I'm sure the directory structure is right.

If I increase th开发者_C百科e verbosity of the test runs, they don't even look for the fixtures that I specify, I can even go as far as specifying the full path to the file, and they don't get loaded.


If 'test_data.json' is under project/fixtures, then I can't see any problem with what you have got. Try using the fixture data in a test.

"it completely ignores the fixtures"

How do you know this?

"If I rename the file to initial_data.json it gets picked up by the test runner"

This is only picked up because the test runner runs syncdb. See http://docs.djangoproject.com/en/dev/howto/initial-data/#automatically-loading-initial-data-fixtures

"If I increase the verbosity of the test runs, they don't even look for the fixtures that I specify,"

How can you be sure? I ran my tests with the verbosity set to 3, and the test runner did not mention my fixtures at all. (The tests work) I even tried using a non-existent fixture in the test. Again, the test runner did not mention any problem.

0

精彩评论

暂无评论...
验证码 换一张
取 消