国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python單元測試實例詳解

2020-02-23 00:16:32
字體:
來源:轉載
供稿:網友

本文實例講述了Python單元測試。分享給大家供大家參考,具體如下:

在Python中進行單元測試需要用到自動單元測試框架PyUnit,Python2.1及其以后的版本都將PyUnit作為一個標準模塊(即python的unittest模塊),如果你很out,那么你需要從PyUnit網站下載源碼安裝后才能使用。

一、Python單元測試范例

測試最基本的原理是比較預期結果是否與實際執行結果相同,如果相同則測試成功,否則測試失敗。為了更好地理解自動測試框架PyUnit,下面會以對Widget類進行測試為例說明之:

#widget.py#將要被測試的類Widgetclass Widget:  def __init__(self, size = (40, 40)):    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)  def dispose(self):    pass

二、測試用例TestCase

軟件測試中最基本的組成單元式測試用例(test case),PyUnit使用TestCase類來表示測試用例,并要求所有用于執行測試的類都必須從該類繼承。TestCase子類實現的測試代碼應該是自包含的(self contained),即測試用例既可以單獨運行,也可以和其它測試用例構成集合共同運行。TestCase類中常用的函數或方法有:

setUp:進行測試前的初始化工作。
tearDown:執行測試后的清除工作。
failedinfo:表示不成立打印信息faliedinfo,為可選參數。
self.assertEqual(value1, value2, failedinfo):會無條件的導致測試失敗,不推薦使用。
self.assertTrue(, failedinfo):斷言value1 == value2。
self.assertFalse(, failedinfo):斷言value為真。
self.assertRaises(ValueError, self.widget.resize, -1, -1):斷言肯定發生異常,如果沒發生異常,則為測試失敗。參數1為異常,參數2為拋出異常的調用對象,其余參數為傳遞給可調用對象的參數。
TestCase在PyUnit測試框架中被視為測試單元的運行實體,Python程序員可以通過它派生自定義的測試過程與方法(測試單元),利用Command和Composite設計模式,多個TestCase還可以組合成測試用例集合。PyUnit測試框架在運行一個測試用例時,TestCase子類定義的setUp()runTest()tearDown()方法被依次執行,最簡單的測試用例只需要覆蓋runTest()方法來執行特定的測試代碼就可以了。

1、靜態方法

一個測試用例只對軟件模塊中一個方法進行測試,采用覆蓋runTest()方法來構造測試用例,這在PyUnit中稱之為靜態方法,舉例說明如下:

#static.pyfrom widget import Widgetimport unittest#執行測試的類class WidgetTestCase(unittest.TestCase):  def runTest(self):    widget = Widget()    self.assertEqual(widget.getSize(), (40, 40))#測試if __name__ == "__main__":  testCase = WidgetTestCase()  testCase.runTest()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云和县| 马尔康县| 娄底市| 天津市| 讷河市| 奉节县| 杭锦旗| 息烽县| 醴陵市| 德阳市| 收藏| 邯郸市| 瓦房店市| 龙江县| 聊城市| 枣阳市| 明溪县| 盱眙县| 双江| 修文县| 山东省| 海安县| 太白县| 内乡县| 奇台县| 胶州市| 博罗县| 肃宁县| 隆安县| 阳西县| 小金县| 白水县| 大关县| 荔浦县| 江山市| 彩票| 玉溪市| 吉林省| 科技| 滕州市| 四子王旗|