我正在尝试在我的Django测试中加载一些灯具,但它们似乎没有加载。
在我的settings.py中,我指定:
FIXTURE_DIRS = (os.path.join(PROJECT_DIR, 'dhtmlScheduler\\fixtures\\'))
现在,在我的测试用例中:
def setUp(self):
fixtures = ['users.json', 'employee.json']
我还应该提一下,我正在使用Nose测试跑步者:
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
和unittest:
class TestEmployee(unittest.TestCase):
我必须遗漏一些明显的东西,有人能指出我正确的方向吗?
答案 0 :(得分:3)
FIXTURE_DIRS应该是列表或元组,而不是字符串。请记住,这是逗号定义一个元组的逗号,而不是parens,IOW你的设置应该是
FIXTURE_DIRS = (
os.path.join(PROJECT_DIR, 'dhtmlScheduler\\fixtures\\'),
)
作为旁注,对路径分隔符进行硬编码会破坏使用os.path.join()的全部意义,所以这应该是:
FIXTURE_DIRS = (
os.path.join(PROJECT_DIR, 'dhtmlScheduler', 'fixtures'),
)
编辑:最后,你必须在类级别声明你的TestCase灯具,而不是在setUp()方法... ...
答案 1 :(得分: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'
]
答案 2 :(得分:0)