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

首頁 > 編程 > Python > 正文

Python Unittest自動化單元測試框架詳解

2020-02-22 23:36:00
字體:
供稿:網(wǎng)友

本文實例為大家分享了Python Unittest自動化單元測試框架的具體代碼,供大家參考,具體內(nèi)容如下

1、python 測試框架(本文只涉及 PyUnit)

參考地址

2、環(huán)境準備

首先確定已經(jīng)安裝有Python,之后通過安裝PyUnit,Python版本比較新的已經(jīng)集成有PyUnit(PyUnit 提供了一個圖形測試界面UnittestGUI.py)
參考:查看地址

3、代碼實例

使用的IDE為 PyCharm,DEMO結(jié)構(gòu)如圖

1.簡單地一個實例

# Test002_Fail.py# -*- coding:utf-8 -*-import unittestclass Test002_Fail(unittest.TestCase):  #測試用例前執(zhí)行  def setUp(self):    print 'Case Before'    pass  #測試用例后執(zhí)行  def tearDown(self):    print 'Case After'    pass  #測試用例1  def test_Case1(self):    a = 3    b = 2    self.assertEqual(a+b,4,'Result Fail')  #測試用例2  def test_Case2(self):    a = 2    b = 3    self.assertEqual(a*b,7,'Result Fail')if __name__ == '__main__':  unittest.main()

2.當case比較多的時候,可以使用Suite來管理多個case,suite 可以看做是一個case 的容器,可以裝很多的case

# SuiteDemo.py# -*- coding:utf-8 -*-#一個類,添加測試集import unittestclass SuiteDemo(unittest.TestCase):  #測試用例前執(zhí)行  def setUp(self):    print 'Case Before'    pass  #測試用例后執(zhí)行  def tearDown(self):    print 'Case After'    pass  def test_Case1(self):    a = 3    b = 2    self.assertEqual(a+b,5,'Result Fail')    print 'Case1'  def test_Case2(self):    a = 2    b = 3    self.assertEqual(a*b,6,'Result Fail')    print 'Case2'#定義一個測試集合,方便添加Casedef suite():  suiteTest = unittest.TestSuite()  suiteTest.addTest(SuiteDemo("test_Case1"))  suiteTest.addTest(SuiteDemo("test_Case2"))  return suiteTest#默認運行時通過 Suite 運行if __name__ == '__main__':  unittest.main(defaultTest='suite')

3.Suite 和 Case可以分開寫在不同的Python文件中,這樣方便區(qū)分case模塊和Suite管理模塊,在測試測試的時候只需要在case模塊里面添加case,之后添加到Suite模塊即可了

case模塊

# TestCaseDemo# -*- coding:utf-8 -*-import unittestclass TestCaseDemo(unittest.TestCase):  def setUp(self):    pass  def tearDown(self):    pass  def test_Case1(self):    print 'test_Case1'  def test_Case2(self):    print 'test_Case2'  def test_Case3(self):    print 'test_Case3'  def test_Case4(self):    print 'test_Case4'

接下來為三個Suite模塊,都是先導入Case模塊,之后添加Suite,再在Suite里面添加Case,最后執(zhí)行的時候需要使用TestRunner,這個TestRunner 相當于Suite 的執(zhí)行器

簡單地TestSuite:

# TestCase_Demo1.py# -*- coding:utf-8 -*-#集合寫入一個方法,main調(diào)用并啟動import unittestfrom TestCase_Demo import TestCaseDemo#添加一個測試集合,并添加Casedef suite():  suiteTest = unittest.TestSuite()  suiteTest.addTest(TestCaseDemo('test_Case1'))  return suiteTest#指定并啟動測試集合,運行集合方法if __name__ == '__main__':  runner = unittest.TextTestRunner()  runner.run(suite())            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 越西县| 稷山县| 东兴市| 交口县| 东乡| 衡南县| 洞口县| 嘉善县| 钟祥市| 安溪县| 金乡县| 额尔古纳市| 盐城市| 正镶白旗| 玉田县| 闽侯县| 监利县| 巴楚县| 银川市| 安达市| 原平市| 汉寿县| 普格县| 和林格尔县| 南丹县| 永福县| 灵武市| 云林县| 邹平县| 汽车| 黑龙江省| 清镇市| 军事| 乌鲁木齐市| 临朐县| 顺昌县| 柞水县| 蕲春县| 运城市| 泰州市| 南召县|