pythondjangodjango-fixtures

Loading Fixtures Django


I'm trying to load some fixtures within my Django tests, but they don't seem to load.

In my settings.py, I specify:

FIXTURE_DIRS = (os.path.join(PROJECT_DIR, 'dhtmlScheduler\\fixtures\\'))

Now, within my test case:

def setUp(self):
    fixtures = ['users.json', 'employee.json']

I should also probably mention that I'm using the Nose test runner:

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

and unittest:

class TestEmployee(unittest.TestCase):

I must be missing something obvious, can someone point me in the right direction?


Solution

  • FIXTURE_DIRS is supposed to be a list or tuple, not a string. Remember that it's the comma that defines a tuple litteral, not the parens, IOW your settings should be

    FIXTURE_DIRS = (
        os.path.join(PROJECT_DIR, 'dhtmlScheduler\\fixtures\\'), 
        )
    

    As a side note, hardcoding the path separator kind of defeats the whole point of using os.path.join(), so this should really be:

    FIXTURE_DIRS = (
        os.path.join(PROJECT_DIR, 'dhtmlScheduler', 'fixtures'), 
        )
    

    Edit : and finally, you have to declare your TestCase fixtures at the class level, not in the setUp() method...