Django在测试运行时忽略了灯具

时间:2011-04-05 15:35:14

标签: django unit-testing fixtures

我在一个名为“project”的Django应用程序中有一个简单的类

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()

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()

当我跑

它完全忽略了灯具。如果我将文件重命名为initial_data.json,它会被测试运行器选中,所以我确定目录结构是正确的。

如果我增加测试运行的详细程度,他们甚至不会查找我指定的灯具,我甚至可以指定文件的完整路径,并且它们不会被加载。< / p>

1 个答案:

答案 0 :(得分:3)

如果'test_data.json'在project / fixtures下,那么我看不出你有什么问题。尝试在测试中使用夹具数据。

  
    

“它完全忽略了灯具”

  

你怎么知道这个?

  
    

“如果我将文件重命名为initial_data.json,它将被测试运行者选中”

  

这只是因为测试运行器运行syncdb而被选中。见http://docs.djangoproject.com/en/dev/howto/initial-data/#automatically-loading-initial-data-fixtures

  
    

“如果我增加测试运行的详细程度,他们甚至不会查找我指定的灯具,”

  

你怎么能确定?我将测试的详细程度设置为3,测试运行器根本没有提到我的灯具。 (测试工作) 我甚至尝试在测试中使用不存在的夹具。再次,测试运行员没有提到任何问题。