欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中Unittest框架的具體使用

 更新時間:2019年08月27日 11:10:10   作者:Tester_hope  
這篇文章主要介紹了Python中Unittest框架的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

Unittest

1.環(huán)境

Unittest為Python內(nèi)嵌的測試框架,不需要特殊配置,僅需要在File---settings---Tools----Python Intergrated Tools下配置框架為Unittest

2.編寫規(guī)范

  • 需要導入 import unittest
  • 測試類必須繼承unittest.TestCase
  • 測試方法以 test_開頭
  • 模塊和類名沒有要求

3.Unittest介紹

import unittest

def add(x, y):
 return x + y

def sub(x,y):
 return x - y

class UnittestDemo(unittest.TestCase):

 def setUp(self):
  print("I an setup")

 def test_add(self):
  print("my first unit test demo----add")
  self.assertEqual(add(10,1),11,"assert equal")

 def test_sub(self):
  print("my first unit test demo----sub")
  self.assertEqual(sub(10, 1), 9, "assert equal2")

 @unittest.skip("i don't want to run this case.")
 def test_sub1(self):
  print("my first unit test demo----sub1")
  self.assertEqual(sub(10, 1), 9, "assert equal3")

 def tearDown(self):
  print("I an tearDown")

setUp及TearDown

方法級別的,類里面的每個方法調(diào)用一次

 def setUp(self):
  print("I an setup")

setUpClass及tearDownClass

類級別的,類里面的所有方法僅執(zhí)行一次

  @classmethod
 def setUpClass(cls):
  print("I an setUpClass") 

setUpModule,tearDownModule

模塊級別的,執(zhí)行模塊里面類中的所有方法僅執(zhí)行一次

4.Unittest使用

import unittest

from unittest_task import UnittestDemo
from HTMLTestRunner import HTMLTestRunner


suite=unittest.TestSuite()#創(chuàng)建用例集合
tests = [UnittestDemo("test_add"), UnittestDemo("test_sub"),UnittestDemo("test_sub1")]
suite.addTests(tests)


with open('HTMLReport.html', 'wb') as fi:
 runner = HTMLTestRunner(stream=fi,
       title = 'MathFunc Test Report',
       description='generated by HTMLTestRunner.',
       verbosity=2
       )
 runner.run(suite)

TestCase

多個測試用例集合在一起,就是TestSuite

TestSuite

多個測試用例集合在一起,就是TestSuite

TestLoader

用來加載TestCase到TestSuite中的

TestRunner

執(zhí)行測試用例的,測試的結(jié)果會保存到TestResult實例中,包括運行了多少測試用例,成功了多少,失敗了多少等信息

skip裝飾器

跳過某個用例不執(zhí)行

@unittest.skip("i don't want to run this case.")

無條件跳過

 unittest.skip(reason)

當condition為True時跳過

unittest.skipIf(condition, reason)

當condition為False時跳過

unittest.skipUnless(condition, reason)

self.skipTest('do not run this.')

5.Unittest生成報告

5.1 Unittest生成txt格式報告

if __name__ == '__main__':
 suite = unittest.TestSuite()
 
 tests = [TestMathFunc("test_add"), TestMathFunc("test_minus"), TestMathFunc("test_divide")]
 suite.addTests(tests)
 
 with open('UnittestTextReport.txt', 'a') as f:
  runner = unittest.TextTestRunner(stream=f, verbosity=2)
  runner.run(suite)
 

運行該文件,就會發(fā)現(xiàn)目錄下生成了'UnittestTextReport.txt,所有的執(zhí)行報告均輸出到了此文件中。

verbosity參數(shù)可以控制執(zhí)行結(jié)果的輸出,0 是簡單報告、1 是一般報告、2 是詳細報告

5.2 Unittest生成html格式報告

with open('HTMLReport.html', 'wb') as fi:
 runner = HTMLTestRunner(stream=fi,
       title = 'MathFunc Test Report',
       description='generated by HTMLTestRunner.',
       verbosity=2
       )
 runner.run(suite)

輸出測試報告為HTML格式,unittest中htmltestrunner導出測試報告,可以修改htmltestrunner中的測試代碼

其中,的python3中用HTMLTestRunner.py報ImportError: No module named 'StringIO'如何解決見:

http://www.dbjr.com.cn/article/168573.htm

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python枚舉類型定義與使用講解

    python枚舉類型定義與使用講解

    在python中枚舉是一種類(Enum,IntEnum),存放在enum模塊中。枚舉類型可以給一組標簽賦予一組特定的值,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • python字符串中加空格的四種方法

    python字符串中加空格的四種方法

    本文主要介紹了python字符串中加空格的四種方法,包括使用加法運算符、join()方法、format()方法和f-string,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • python實現(xiàn)動態(tài)數(shù)組的示例代碼

    python實現(xiàn)動態(tài)數(shù)組的示例代碼

    這篇文章主要介紹了python實現(xiàn)動態(tài)數(shù)組的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python中如何利用matplotlib畫多個并列的柱狀圖

    python中如何利用matplotlib畫多個并列的柱狀圖

    python是一個很有趣的語言,可以在命令行窗口運行,下面這篇文章主要給大家介紹了關(guān)于python中如何利用matplotlib畫多個并列的柱狀圖的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • python 遞歸調(diào)用返回None的問題及解決方法

    python 遞歸調(diào)用返回None的問題及解決方法

    這篇文章主要介紹了python 遞歸調(diào)用返回None的問題,本文通過實例代碼給大家記錄了解決方案,代碼簡單易懂,非常不錯對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • python實現(xiàn)自動清理重復文件

    python實現(xiàn)自動清理重復文件

    這篇文章主要介紹了python如何實現(xiàn)自動清理重復文件,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-08-08
  • 手動安裝Anaconda環(huán)境變量的實現(xiàn)教程

    手動安裝Anaconda環(huán)境變量的實現(xiàn)教程

    這篇文章主要介紹了手動安裝Anaconda環(huán)境變量的實現(xiàn)教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • 區(qū)分python中的進程與線程

    區(qū)分python中的進程與線程

    這篇文章主要介紹了區(qū)分python中的進程與線程,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-08-08
  • Python爬取當當、京東、亞馬遜圖書信息代碼實例

    Python爬取當當、京東、亞馬遜圖書信息代碼實例

    這篇文章主要介紹了Python爬取當當、京東、亞馬遜圖書信息代碼實例,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • python如何通過openpyxl讀寫Excel文件

    python如何通過openpyxl讀寫Excel文件

    python操作excel的庫有很多,有的庫只能讀取xsl格式,比如xlrd庫,有的庫只能寫xsl格式,比如xlwt庫,有的只能讀寫xslx格式,比如openpyxl庫,綜合各庫及 xslx 格式比較常見,所以本文主要講解openpyxl庫對xslx格式的excel操作,需要的朋友可以參考下
    2023-10-10

最新評論