我试图在我的 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'
和单元测试:
class TestEmployee(unittest.TestCase):
我肯定遗漏了一些明显的东西,有人能指出我正确的方向吗?
最佳答案
FIXTURE_DIRS 应该是一个列表或元组,而不是一个字符串。请记住,它是定义元组文字的逗号,而不是括号,IOW 您的设置应该是
FIXTURE_DIRS = (
os.path.join(PROJECT_DIR, 'dhtmlScheduler\\fixtures\\'),
)
作为旁注,对路径分隔符进行硬编码会破坏使用 os.path.join() 的全部意义,所以这实际上应该是:
FIXTURE_DIRS = (
os.path.join(PROJECT_DIR, 'dhtmlScheduler', 'fixtures'),
)
编辑:最后,您必须在类级别而不是在 setUp() 方法中声明您的 TestCase fixture...
关于python - 加载夹具 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15479209/