2010-03-29 81 views
2

我從來沒有做過任何單元測試,並希望瞭解它是什麼以及它如何在我的Python代碼中有用。什麼是單元測試的非常簡單的解釋?

我已經通過在線閱讀了一些Python單元測試教程,但它們都很複雜,並且假設有一個擴展的編程背景。我使用Python與Pylons創建一個簡單的Web應用程序。

任何簡單的例子將不勝感激。

謝謝!

+0

「單元測試在線教程,但它們都很複雜」全部?你能提供指向太複雜的教程的特定鏈接嗎? – 2010-03-29 02:13:13

回答

5

請考慮這一點。

這是我們寫的一堂課。

class Something(object): 
    def __init__(self, a, b): 
     self.a= a 
     self.b= b 
    def sum(self): 
     return self.a+self.b+self.a 

這是對該類的測試。

import unittest 
class TestSomething(unittest.TestCase): 
    def setUp(self): 
     self.s = Something(1, 2) 
    def test_should_sum(self): 
     self.assertEquals(3, self.s.sum()) 

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

這個班級作爲一個獨立單位是否通過考試?

如果不是,那麼錯誤是什麼?

我們已經把課程作爲一個獨立的單元進行了測試。這是單元測試。

+0

謝謝!你通常如何運行TestSomething?從python控制檯?有沒有更好的辦法?此外,「if __name__ ==」__main__「:」做什麼?謝謝。 – ensnare 2010-03-29 02:14:28

+0

@ensnare:是的。如果你不知道'__main__'是什麼,搜索堆棧溢出。不要問這個問題 - 它已經在這裏得到了很好的回答。 – 2010-03-29 02:16:45