2010-12-10 74 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

相關問題