python中單元測(cè)試指的是什么

這篇文章主要介紹python中單元測(cè)試指的是什么,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),成都做網(wǎng)站公司-創(chuàng)新互聯(lián)已向千余家企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷(xiāo)等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價(jià)格為您打造企業(yè)品質(zhì)網(wǎng)站。

在python中,單元測(cè)試是用來(lái)對(duì)一個(gè)模塊、一個(gè)函數(shù)或者一個(gè)類(lèi)來(lái)進(jìn)行正確性檢驗(yàn)的測(cè)試工作。

python中單元測(cè)試指的是什么

單元測(cè)試

通常是測(cè)試一小塊代碼的功能,比如一個(gè)函數(shù),類(lèi)的一個(gè)方法。

單元測(cè)試通常是開(kāi)發(fā)人員做的一種測(cè)試,通常是測(cè)試函數(shù),方法這種級(jí)別的代碼塊的。單元測(cè)試大都是 設(shè)計(jì)出不同的調(diào)用參數(shù)來(lái)調(diào)用函數(shù),來(lái)看 函數(shù) 的輸出是否符合預(yù)期。當(dāng)然如果你的代碼寫(xiě)的不好的話,單元測(cè)試也會(huì)比較麻煩。比如一個(gè)功能模塊沒(méi)有內(nèi)聚到函數(shù)中,而是分散在代碼文件里面。那樣,就不容易用一個(gè)函數(shù)調(diào)用對(duì)這些功能進(jìn)行測(cè)試。

使用pytest進(jìn)行python進(jìn)行單元測(cè)試

python內(nèi)置了一個(gè)unittest,但是寫(xiě)起來(lái)稍微繁瑣,比如都要寫(xiě)一個(gè)TestCase類(lèi),還得用 assertEqual, assertNotEqual等斷言方法。 而使用pytest運(yùn)行測(cè)試統(tǒng)一用assert語(yǔ)句就行,兼容unittest,目前很多知名開(kāi)源項(xiàng)目如PyPy,Sentry也都在用。關(guān)于pytest的使用可以參考其官方文檔,雖然有很多高級(jí)特性,但是掌握其中一小部分基本就夠用了。

下面是py.test的基本用法,以常見(jiàn)的兩種測(cè)試類(lèi)型(驗(yàn)證返回值和拋出異常)為例:

def add(a, b):
    """return a + b
    Args:
        a (int): int
        b (int): int
    Returns:
        a + b
    Raises:
        AssertionError: if a or b is not integer
    """
    assert all([isinstance(a, int), isinstance(b, int)])
    return a + b
def test_add():
    assert add(1, 2) == 3
    assert isinstance(add(1, 2) , int)
    with pytest.raises(Exception):    # test exception
        add('1', 2)

上面是示例,真實(shí)場(chǎng)景下遠(yuǎn)遠(yuǎn)比這個(gè)復(fù)雜,甚至有時(shí)候構(gòu)造測(cè)試的時(shí)間比寫(xiě)業(yè)務(wù)邏輯的時(shí)間還要長(zhǎng)。但是再?gòu)?fù)雜的邏輯也是一點(diǎn)點(diǎn)功能堆積,如果可以確保每一部分都正確,整體上是不會(huì)出錯(cuò)的。單元測(cè)試同時(shí)也提醒我們,函數(shù)完成的功能盡可能單一,這樣才利于測(cè)試。

下面幾個(gè)是我常用的pytest命令:

py.test test_mod.py   # run tests in module
py.test somepath      # run all tests below somepath
py.test -q test_file_name.py    # quite輸出
py.test -s test_file_name.py    # -s參數(shù)可以打印測(cè)試代碼中的輸出,默認(rèn)不打印,print沒(méi)結(jié)果
py.test test_mod.py::test_func  # only run tests that match the "node ID",
py.test test_mod.py::TestClass::test_method  # run a single method in

以上是python中單元測(cè)試指的是什么的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

新聞標(biāo)題:python中單元測(cè)試指的是什么
標(biāo)題網(wǎng)址:http://muchs.cn/article26/ipgicg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、微信小程序網(wǎng)站設(shè)計(jì)公司、移動(dòng)網(wǎng)站建設(shè)做網(wǎng)站、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管