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

首頁 > 編程 > Python > 正文

Python單元測試框架unittest使用方法講解

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

概述

1.測試腳手架(test fixture)

測試準備前要做的工作和測試執行完后要做的工作.包括setUp()和tearDown().

2.測試案例(test case)

最小的測試單元.

3.測試套件(test suite)

測試案例的集合.

4.測試運行器(test runner)

測試執行的組件.

命令行接口

可以用命令行運行測試模塊,測試類以及測試方法.
代碼如下:
python -m unittest test_module1 test_module2
python -m unittest test_module.TestClass
python -m unittest test_module.TestClass.test_method

可加-v打印詳細信息
代碼如下:
python -m unittest -v test_module

測試案例自動搜索

unittest支持簡單的test discovery. 命令行傳入discovery后,框架會自動在當前目錄搜索要測試的案例并執行.搜索目錄必須是包或者模塊.基本使用如下:
代碼如下:
cd project_directory
python -m unittest discover

子選項如下:
-v, –verbose
輸出信息的詳細級別

-s, –start-directory directory
開始搜索目錄 (默認為當前目錄)

-p, –pattern pattern
匹配的文件名 (默認為test*.py)

-t, –top-level-directory directory
搜索的頂層目錄 (默認為start directory)

創建測試代碼

1.方式一

創建子類繼承unittest.TestCase,然后重寫以下方法
代碼如下:
class WidgetTestCase(unittest.TestCase):
    def setUp(self):
        pass
    def runTest(self):
        pass
    def tearDown(self):
        pass

運行

2.方式二

編寫以test開頭的方法
代碼如下:
class WidgetTestCase(unittest.TestCase):
    def setUp(self):
        pass

    def test_xx1(self)
    def test_xx2(self)
    ...
    def test_xxN(self)

    def tearDown(self):
        pass

構建測試套件

方式一
代碼如下:
widgetTestSuite = unittest.TestSuite()
widgetTestSuite.addTest(WidgetTestCase('test_default_size'))
widgetTestSuite.addTest(WidgetTestCase('test_resize'))

方式二(推薦)
代碼如下:
def suite():
    suite = unittest.TestSuite()
    suite.addTest(WidgetTestCase('test_default_size'))
    suite.addTest(WidgetTestCase('test_resize'))
    return suite

方式三(推薦)
代碼如下:
def suite():
    tests = ['test_default_size', 'test_resize']
    return unittest.TestSuite(map(WidgetTestCase, tests))

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江津市| 色达县| 遂昌县| 基隆市| 周宁县| 济南市| 灵丘县| 类乌齐县| 合山市| 房产| 静海县| 六安市| 子长县| 朔州市| 江源县| 奇台县| 多伦县| 龙海市| 龙游县| 库尔勒市| 泰安市| 盘锦市| 盐城市| 富蕴县| 江西省| 西乡县| 乐都县| 长子县| 安图县| 方城县| 赤水市| 东乌珠穆沁旗| 彭山县| 深水埗区| 霍州市| 绿春县| 庄河市| 东莞市| 栾川县| 万州区| 通海县|