2013-03-18 85 views
0

我想加載我的Django測試中的一些燈具,但他們似乎並沒有加載。加載裝置Django

在我的settings.py,我指定:

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

現在,我的測試用例中:

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

我也可能提到,我使用的是鼻試驗亞軍:

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner' 

和單元測試:

class TestEmployee(unittest.TestCase): 

我必須錯過一些明顯的東西,有人可以指出我在正確的方向嗎?

+0

無關的問題:使用原始字符串爲您的目錄有:'r'dhtmlScheduler \燈具\''。更易於閱讀。 :) – 2013-03-19 16:27:55

回答

3

FIXTURE_DIRS應該是一個列表或元組,而不是一個字符串。請記住,它是定義一個元組litteral,而不是括號逗號,督察你的設置應該是

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

作爲一個側面說明,硬編碼路徑分隔符那種違背了使用os.path.join整點( ),所以這確實應該:

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

編輯:最後,你必須在類級別聲明你的TestCase的燈具,而不是在設置()方法...

+0

感謝與分離器的提示,但我仍然無法加載測試。 – 2013-03-18 14:54:27

+0

cf我上面的編輯... – 2013-03-19 16:27:10

0
FIXTURE_DIRS = (os.path.join(PROJECT_ROOT, 'fixtures'),) 

或者

from django.test import TestCase 

class MyTestCase(TestCase): 
    fixtures = [ 
     '/myapp/fixtures/users.json', 
     '/myapp/fixtures/employee.json' 
    ]