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