最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中的Unittest基本使用

 更新時間:2022年08月26日 11:41:01   作者:哲思天下  
這篇文章主要介紹了Python中的Unittest基本使用,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下

前言:

Unittest又名單元測試,主要用于測試自己寫的代碼的正確性和完備性,也方便自己和他人對代碼的維護。在軟件開發(fā)過程中,測試驅動開發(fā)的理念是一種好的開發(fā)習慣。

例如現(xiàn)在我們寫了一個求絕對值的函數(shù)my_abs,存放在myAbs.py中

def my_abs(number):
    if not (isinstance(number, int) or isinstance(number, float)):
        raise ValueError("invalid value %s" % number)
    else:
        if(number >= 0):
            return number
        else:
            return -number

此處的my_abs函數(shù)對參數(shù)做了檢查,參數(shù)必須是一個數(shù)(python的數(shù)只有int和float型)。那么如果想要測試這個函數(shù)的正確性,我們需要寫一個測試函數(shù),用于測試函數(shù)的各個分支情況。

基于unittest的的測試代碼如下:

import unittest
 
from myAbs import my_abs
class TestmyAbs(unittest.TestCase):
    def test_positive(self):
        self.assertEqual(my_abs(1), 1)
 
    def test_zero(self):
        self.assertEqual(my_abs(0), 0)
 
    def test_negative(self):
        self.assertEqual(my_abs(-1), 1)
 
    def test_inputerror(self):
        with self.assertRaises(ValueError):
            my_abs("1")
 
if __name__ == "__main__":
    unittest.main()

上述代碼存放在test_myAbs.py中。

unittest的基本使用方法是:

  • 1. 文件命名以test_開頭,這樣方便unittest自動執(zhí)行,unittest能自動識別目錄下test_開頭的文件執(zhí)行
  • 2. import unittest     這個是運行unittest的前提
  • 3. 定義class要以Test開頭,必須要從unittest.TestCase繼承,且不能有init方法,測試的方法或者函數(shù)以test_開頭
  • 4. 測試方法中使用assert進行斷言

在上面測試代碼的TestMyabs類的方法中,分別對正數(shù),零和負數(shù)的情況進行了測試,使用assertEqual進行結果的判定;另外測試中還對輸入?yún)?shù)是無效的情況進行了判定,使用了with語句和assertRaises的方式,針對期望拋出來的異常進行判定

unittest的運行方式:

1. 單獨運行test_myAbs.py文件,前提是在文件尾增加

? ??if __name__ == "__main__":
? ? ? ? unittest.main()

2. 發(fā)送命令 python -m unittest .\myAbs.py

   當發(fā)送命令python -m unittest時,會執(zhí)行當前目錄下所有test_開頭的文件

運行結果如下:

Testing started at 4:43 PM ...
Launching pytest with arguments C:/work/myPythonPrj/test_myAbs.py --no-header --no-summary -q in C:\work\myPythonPrj
 
============================= test session starts =============================
collecting ... collected 4 items
 
test_myAbs.py::TestmyAbs::test_inputerror PASSED                         [ 25%]
test_myAbs.py::TestmyAbs::test_negative PASSED                           [ 50%]
test_myAbs.py::TestmyAbs::test_positive PASSED                           [ 75%]
test_myAbs.py::TestmyAbs::test_zero PASSED                               [100%]
 
============================== 4 passed in 0.03s ==============================
 
Process finished with exit code 0

到此這篇關于Python中的Unittest基本使用的文章就介紹到這了,更多相關Python Unittest 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python內(nèi)置函數(shù)reversed()用法分析

    Python內(nèi)置函數(shù)reversed()用法分析

    這篇文章主要介紹了Python內(nèi)置函數(shù)reversed()用法,結合實例形式分析了reversed()函數(shù)的功能及針對序列元素相關操作技巧與使用注意事項,需要的朋友可以參考下
    2018-03-03
  • Python中Django的URL反向解析

    Python中Django的URL反向解析

    這篇文章主要介紹了Python中Django的URL反向解析,url反向解析是指在視圖或模板中,用path定義的名稱來動態(tài)查找或計算出相應的路由,本文提供了部分實現(xiàn)代碼與解決思路,需要的朋友可以參考下
    2023-09-09
  • 超簡單的Matplotlib安裝與配置教程

    超簡單的Matplotlib安裝與配置教程

    Matplotlib是Python的第三方繪圖庫,它非常類似于MATLAB,在使用Matplotlib軟件包之前需要對其進行安裝,這篇文章主要給大家介紹了關于Matplotlib安裝與配置的相關資料,需要的朋友可以參考下
    2023-09-09
  • Django ORM外鍵查詢與反向查詢技巧

    Django ORM外鍵查詢與反向查詢技巧

    Django 的 ORM(對象關系映射)是其最強大的功能之一,它使得數(shù)據(jù)庫操作變得直觀和簡潔,在復雜的數(shù)據(jù)庫結構中,外鍵(Foreign Key)的使用及其對應的反向查詢是 Django 開發(fā)中不可或缺的部分,本文將詳細介紹如何在 Django 中利用外鍵進行數(shù)據(jù)查詢以及執(zhí)行反向查詢
    2023-11-11
  • Python數(shù)據(jù)類型之Number數(shù)字操作實例詳解

    Python數(shù)據(jù)類型之Number數(shù)字操作實例詳解

    這篇文章主要介紹了Python數(shù)據(jù)類型之Number數(shù)字操作,結合實例形式詳細分析了Python數(shù)字類型的概念、功能、分類及常用數(shù)學函數(shù)相關使用技巧,需要的朋友可以參考下
    2019-05-05
  • python列表添加元素append(),extend(),insert(),+list的區(qū)別及說明

    python列表添加元素append(),extend(),insert(),+list的區(qū)別及說明

    這篇文章主要介紹了python列表添加元素append(),extend(), insert(),+list的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python使用redis模塊來跟redis實現(xiàn)交互

    python使用redis模塊來跟redis實現(xiàn)交互

    這篇文章主要介紹了python使用redis模塊來跟redis實現(xiàn)交互,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • Python實現(xiàn)的矩陣轉置與矩陣相乘運算示例

    Python實現(xiàn)的矩陣轉置與矩陣相乘運算示例

    這篇文章主要介紹了Python實現(xiàn)的矩陣轉置與矩陣相乘運算,結合實例形式分析了Python針對矩陣進行轉置與相乘運算的相關實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
    2019-03-03
  • pytorch實現(xiàn)加載保存查看checkpoint文件

    pytorch實現(xiàn)加載保存查看checkpoint文件

    這篇文章主要介紹了pytorch實現(xiàn)加載保存查看checkpoint文件方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python+OpenCV實現(xiàn)基本的圖像處理操作

    Python+OpenCV實現(xiàn)基本的圖像處理操作

    說到圖像處理,那必然要提到opencv模塊了。本文將從最基本的opencv模塊在圖像的基本操作上說起,利用Python+OpenCV實現(xiàn)圖像的讀取保存等,感興趣的可以了解一下
    2022-07-07

最新評論

孝感市| 龙游县| 同仁县| 普兰店市| 黑龙江省| 东方市| 蕲春县| 鹤岗市| 扶风县| 昆明市| 琼结县| 郴州市| 兴业县| 栾川县| 固阳县| 博乐市| 宜川县| 迁西县| 若尔盖县| 汕尾市| 通榆县| 类乌齐县| 平利县| 东明县| 宜良县| 双辽市| 静宁县| 岳西县| 彭山县| 杭锦后旗| 伊吾县| 仙游县| 汉阴县| 密云县| 山东| 平昌县| 云阳县| 渝中区| 南投市| 霍林郭勒市| 棋牌|