標籤:就是 style 接下來 == 技術 用例 二維碼 odi case
unittest是展開自動化測試的基礎——這個架構很重要!
我們先自己寫一個測試類別:
1、被測試類別 Widthget.py:
# coding: utf-8
class Widthget:
def __init__(self, size=(10, 10)): self._size = size
def getSize(self): return self._size
def reSize(self, width, height): if width < 0 or height < 0:
raise ValueError, ‘illegal size‘ self._size = (width, height)
2、測試類別:
# coding: utf-8
from Widthget import Widthget
import unittest
# 執行測試的類
class WidthgetTestCase(unittest.TestCase): def setUp(self): self.width = Widthget()
def testSize(self): self.assertEqual(self.width.getSize(), (10, 10))
def testResize(self): self.width.reSize(20, 20) self.assertEqual(self.width.getSize(), (20, 20))
def tearDown(self): self.width = None
# 構造測試集
def suite(): tc = unittest.TestSuite() tc.addTest(Widthget("testSize")) tc.addTest(Widthget("testResize"))
return tc
if __name__ == ‘__main__‘: # unittest.main() runner = unittest.TextTestRunner() runner.run(suite())
運行測試檔案可以看到:
我們沒必要單獨寫構造測試集的方法,也就是說我們可以直接將suite()方法放到if __name__==‘__main__‘:裡面:
if __name__ == ‘__main__‘: tc = unittest.TestSuite() tc.addTest(Widthget("testSize")) tc.addTest(Widthget("testResize")) runner = unittest.TextTestRunner() runner.run()
執行測試檔案,可以看到用例也是可以通過的。
測試案例都以test開頭命名,比如測試登入,用例就命名為testLogin,測試退出用例就命名為testLoginOut,上面我們寫的例子之所以能這麼順利的就通過,主要原因就在於我的用例(testSize,testResize)都是以test開頭的。這是unittest架構的預設規定。
接下來就是批量執行用例,這個我們在介面測試架構的時候介紹過,而且是專門介紹過,大家可以看一下
介面測試基礎——第6篇unittest模組(一)
介面測試基礎——第6篇unittest模組(二)
介面測試基礎——第6篇unittest模組(三)
這些都是批量執行的方式。上面我們講的這個只是個很low的例子,大家隨便看一下就行了,接下來我會寫一個具體的selenium架構,大家直接參考一下就可以。如果大家感興趣,就需要回顧一下這些知識了:
介面測試基礎——第一篇smtplib發送文字郵件
介面測試架構——第五篇-用例和運行
HTMLTestRunner顯示用例列印內容
公眾號搜尋“自動化測試實戰”或掃描下方二維碼添加關注~~~
《selenium2 python 自動化測試實戰》(21)——unittest單元測試架構解析