2010-12-10 77 views
6

我有一个Django应用程序myApp。其中有一个tests.py文件,它使用django.test.TestCase类定义了大量测试用例。例如,其中一个被称为WebViews,并有一个测试方法check_status_codes。Django未运行manage.py测试测试,除非指定了应用程序和特定的测试方法

当我运行./manage.py测试时,数据库是用我的初始数据构建的,但是它告诉我它运行了0次测试。我得到了类似的结果(测试不运行),如果我这样做:

./manage.py测试对myApp

,甚至这样的:

./manage.py测试对myApp .WebViews

但是,如果我执行

./manage.py test.WebViews.check_status_codes

然后按预期精确检验方法运行。

我可以像这样将大量测试方法串起来并让它们运行,但这会变得非常单调乏味,而且我有一种感觉我错过了某些东西。

有关如何操作的任何提示或建议?

谢谢!

回答

8

我相信单元测试的惯例是让你的测试方法预先用测试。例如:

class FooTest(TestCase): 

    def setUp(self): 
     # do setup stuff here 
     pass 

    def tearDown(self): 
     # do teardown here 
     pass 

    def test_one_equals_one(self): 
     self.assertEqual(1, 1, "One did not equal 1") 
+0

非常感谢,它的工作!我没有尝试过。 – lunafiko 2010-12-10 21:26:47

相关问题