小編這這篇文章的主要目的,主要是給大家進(jìn)行一個詳解,解釋一下關(guān)于Python中,單元格測試的一些具體方法,那么,測試的方法都有什么呢?下面小編就給大家詳細(xì)的做出一個解答。
一、前言
python的兩個單元測試包分別是doctest和unittest,這兩個包的使用起來各有長處,適用于不同的場景
doctest:直接寫在方法體中,利用了python動態(tài)語言的特性,書寫方式簡單明了,前提是項目不要太大,如果項目復(fù)雜代碼量大,再加上寫在方法體中的單元測試,整體就會看起來有些臃腫,因此doctest適用于代碼量不大的普通項目
unittest:一般寫在獨立文件中,與spring的單元測試有點像,項目結(jié)構(gòu)清晰,不過簡單項目中測試一些小功能的話實屬dark不必了
二、實現(xiàn)
先寫一個待測試的方法 def add(num1,num2): return num1+num2 1.doctest def add(num1,num2): """ 直接寫在待測方法中 >>>add(14,5) 19 >>>add(14,5)>1 True >>>add(20,30,70) Traceback(most recent call last): ... TypeError:add()takes 2 positional arguments but 3 were given """ return num1+num2 if __name__=="__main__": import doctest doctest.testmod() 運行上面的代碼什么都不會輸出,因為預(yù)測結(jié)果全部正確,只有在預(yù)測結(jié)果錯誤的時候才會給提示 ps: add(14,5)為測試方法,19為預(yù)測結(jié)果 add(14,5)>1為測試方法,True為預(yù)測結(jié)果 add(20,30,70)為測試方法,Traceback(most recent call last):為異常拋出的第一句話【錯誤原因】,TypeError:add()takes 2 positional arguments but 3 were given為異常拋出的最后一句話【異常類型:解釋說明】,中間三個點省略了異常中的文件路徑信息
2.unittest
import unittest #引入上面的待測試方法 from src.main.add import add class TestStatisticalFunctions(unittest.TestCase): def test_add(self): self.assertEqual(add(14,5),19)#斷言add(14,5)的結(jié)果為19 self.assertTrue(add(14,5)>1,True)#斷言add(14,5)>1的結(jié)果為True with self.assertRaises(TypeError):#斷言add(20,30,70)拋出TypeError異常 add(20,30,70) if __name__=='__main__': unittest.main()
同樣,運行上面的代碼什么都不會輸出,因為預(yù)測結(jié)果全部正確,只有在預(yù)測結(jié)果錯誤的時候才會給提示
關(guān)于這篇文章,小編就給大家介紹到這里了,希望可以給大家?guī)砀鄮椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/128241.html
摘要:在中什么是迭代器在中,迭代器用于迭代一組元素,如列表之類的容器。中的生成器是什么實現(xiàn)迭代器的方法稱為生成器。如何將數(shù)字轉(zhuǎn)換為字符串要將數(shù)字轉(zhuǎn)換為字符串,請使用內(nèi)置函數(shù)。如果需要八進(jìn)制或十六進(jìn)制表示,請使用內(nèi)置函數(shù)或。 showImg(https://segmentfault.com/img/bVbfztO?w=1024&h=1024);16)在Python中什么是迭代器? 在Pytho...
小編寫這篇文章的一個主要目的,主要就是給大家去做一個解答,接的內(nèi)容主要是利用python去讀取excel表格,那么,怎么才能快速的實現(xiàn)這個操作呢?下面就給大家詳細(xì)解答下。 一、python讀取excel表格數(shù)據(jù) 1、讀取excel表格數(shù)據(jù)常用操作 importxlrd #打開excel表格 data_excel=xlrd.open_workbook('data/datas...
摘要:基于的私有云混合云構(gòu)建方案蘇依蜀黍是一個開源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個輕量級的可移植的自給自足的容器。開發(fā)者在筆記本上編譯測試通過的容器可以批量地在生產(chǎn)環(huán)境中部署,包括虛擬機集群和其他的基礎(chǔ)應(yīng)用平臺。 container-as-a-service-0x01 -- 基于Docker的私有云&混合云構(gòu)建方案 By 蘇依蜀黍 . 2016.06.07 what Docker是一...
摘要:單元測試框架作為的標(biāo)準(zhǔn)庫,是其他單元測試框架的基礎(chǔ)。可以和和配合使用編寫單元測試。官網(wǎng)地址單元測試覆蓋率工具單元測試中還需要用到代碼覆蓋率工具。代碼覆蓋率統(tǒng)計工具用來發(fā)現(xiàn)沒有被測試覆蓋的代碼,完善單元測試的覆蓋率。 在應(yīng)用程序中,單元是具有一個或多個輸入和單個輸出的軟件中最小可測試部分。單元...
摘要:接下來我們將介紹如何對對象的方法進(jìn)行模擬測試。選項創(chuàng)建模擬測試接口我們可以在的構(gòu)造函數(shù)中提供一個模擬測試實例,而不是模擬創(chuàng)建具體的模擬測試方法。 如何不靠耐心測試 通常,我們編寫的軟件會直接與那些我們稱之為骯臟的服務(wù)交互。通俗地說,服務(wù)對我們的應(yīng)用來說是至關(guān)重要的,它們之間的交互是我們設(shè)計好的,但這會帶來我們不希望的副作用——就是那些在我們自己測試的時候不希望的功能。 比如,可能我們...
閱讀 919·2023-01-14 11:38
閱讀 891·2023-01-14 11:04
閱讀 750·2023-01-14 10:48
閱讀 2039·2023-01-14 10:34
閱讀 956·2023-01-14 10:24
閱讀 835·2023-01-14 10:18
閱讀 506·2023-01-14 10:09
閱讀 583·2023-01-14 10:02