2015-04-02 52 views
0

我寫的測試用例這樣的結構:如何正確運行unittest測試用例?

import unittest 
.... 

url = TestObjects.host #url host 

class AuthInitial(unittest.TestCase): 
    def setUp(self): 
     self.driver = TestObjects.driver #start browser 

    def test_name(self): 
     some test_logic in browser 

    def tearDown(self): 
     self.assertEqual() 
     self.driver.close() 


if __name__ == '__main__': 
    unittest.main() 

當我運行通過nosetests命令測試我得到一個錯誤(winerror-10061)

如何正確地開始測試? 每次我需要關閉並打開瀏覽器嗎?

+1

出現此錯誤後,問題與測試本身無關,但與您的代碼邏輯無關。此錯誤與連接有關。 http://stackoverflow.com/questions/13773024/python-connectin-refused-10061 – 2015-04-02 16:07:54

回答

1

所以,setUp()和tearDown()方法分別在每個不同的測試函數之前和之後被調用。在這種情況下,您有其中一個(test_name)。如果您沒有需要創建和銷燬的內容來測試您的代碼,那麼很可能您只需將代碼片段包含在測試函數中。

這就是說,讓我們看看你有的測試。現在test_name函數沒有做任何事情,而是在tearDown方法中有self.assertEqual()。您應該將self.asserEqual()移動到test_name函數中。在此之後,您需要爲您要測試的斷言提供一些論證:

self.asserEqual(testobject.property, "Foo") 

例如。你需要傳遞一些東西,並將其與你的期望進行比較。在這種特殊情況下,我看到了testobject.property是否與Foo相同。如果是這種情況,它會繼續下去。如果不是,單元測試框架將打印出一份評論他們不相同的報告。

希望有幫助。

+0

謝謝,得到了一個點 – Leo 2015-04-03 07:34:12