成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python單元測(cè)試兩種方法解答

89542767 / 438人閱讀

  小編這這篇文章的主要目的,主要是給大家進(jìn)行一個(gè)詳解,解釋一下關(guān)于Python中,單元格測(cè)試的一些具體方法,那么,測(cè)試的方法都有什么呢?下面小編就給大家詳細(xì)的做出一個(gè)解答。


  一、前言


  python的兩個(gè)單元測(cè)試包分別是doctest和unittest,這兩個(gè)包的使用起來各有長(zhǎng)處,適用于不同的場(chǎng)景


  doctest:直接寫在方法體中,利用了python動(dòng)態(tài)語言的特性,書寫方式簡(jiǎn)單明了,前提是項(xiàng)目不要太大,如果項(xiàng)目復(fù)雜代碼量大,再加上寫在方法體中的單元測(cè)試,整體就會(huì)看起來有些臃腫,因此doctest適用于代碼量不大的普通項(xiàng)目


  unittest:一般寫在獨(dú)立文件中,與spring的單元測(cè)試有點(diǎn)像,項(xiàng)目結(jié)構(gòu)清晰,不過簡(jiǎn)單項(xiàng)目中測(cè)試一些小功能的話實(shí)屬dark不必了


  二、實(shí)現(xiàn)


  先寫一個(gè)待測(cè)試的方法
  def add(num1,num2):
  return num1+num2
  1.doctest
  def add(num1,num2):
  """
  直接寫在待測(cè)方法中
  >>>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ùn)行上面的代碼什么都不會(huì)輸出,因?yàn)轭A(yù)測(cè)結(jié)果全部正確,只有在預(yù)測(cè)結(jié)果錯(cuò)誤的時(shí)候才會(huì)給提示
  ps:
  add(14,5)為測(cè)試方法,19為預(yù)測(cè)結(jié)果
  add(14,5)>1為測(cè)試方法,True為預(yù)測(cè)結(jié)果
  add(20,30,70)為測(cè)試方法,Traceback(most recent call last):為異常拋出的第一句話【錯(cuò)誤原因】,TypeError:add()takes 2 positional arguments but 3 were given為異常拋出的最后一句話【異常類型:解釋說明】,中間三個(gè)點(diǎn)省略了異常中的文件路徑信息

  01.png

      2.unittest


  import unittest
  #引入上面的待測(cè)試方法
  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ùn)行上面的代碼什么都不會(huì)輸出,因?yàn)轭A(yù)測(cè)結(jié)果全部正確,只有在預(yù)測(cè)結(jié)果錯(cuò)誤的時(shí)候才會(huì)給提示


  關(guān)于這篇文章,小編就給大家介紹到這里了,希望可以給大家?guī)砀鄮椭?/p>

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/128241.html

相關(guān)文章

  • Python工程師必看的面試問題與解答(中)

    摘要:在中什么是迭代器在中,迭代器用于迭代一組元素,如列表之類的容器。中的生成器是什么實(shí)現(xiàn)迭代器的方法稱為生成器。如何將數(shù)字轉(zhuǎn)換為字符串要將數(shù)字轉(zhuǎn)換為字符串,請(qǐng)使用內(nèi)置函數(shù)。如果需要八進(jìn)制或十六進(jìn)制表示,請(qǐng)使用內(nèi)置函數(shù)或。 showImg(https://segmentfault.com/img/bVbfztO?w=1024&h=1024);16)在Python中什么是迭代器? 在Pytho...

    xiao7cn 評(píng)論0 收藏0
  • 如何利用python讀取excel表格?下文給大家詳細(xì)解答

      小編寫這篇文章的一個(gè)主要目的,主要就是給大家去做一個(gè)解答,接的內(nèi)容主要是利用python去讀取excel表格,那么,怎么才能快速的實(shí)現(xiàn)這個(gè)操作呢?下面就給大家詳細(xì)解答下?! ∫?、python讀取excel表格數(shù)據(jù)  1、讀取excel表格數(shù)據(jù)常用操作  importxlrd   #打開excel表格   data_excel=xlrd.open_workbook('data/datas...

    89542767 評(píng)論0 收藏0
  • container-as-a-service-0x01 -- 基于Docker的私有云&混合

    摘要:基于的私有云混合云構(gòu)建方案蘇依蜀黍是一個(gè)開源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的可移植的自給自足的容器。開發(fā)者在筆記本上編譯測(cè)試通過的容器可以批量地在生產(chǎn)環(huán)境中部署,包括虛擬機(jī)集群和其他的基礎(chǔ)應(yīng)用平臺(tái)。 container-as-a-service-0x01 -- 基于Docker的私有云&混合云構(gòu)建方案 By 蘇依蜀黍 . 2016.06.07 what Docker是一...

    import. 評(píng)論0 收藏0
  • 2021年軟件測(cè)試工具總結(jié)——單元測(cè)試工具

    摘要:?jiǎn)卧獪y(cè)試框架作為的標(biāo)準(zhǔn)庫,是其他單元測(cè)試框架的基礎(chǔ)。可以和和配合使用編寫單元測(cè)試。官網(wǎng)地址單元測(cè)試覆蓋率工具單元測(cè)試中還需要用到代碼覆蓋率工具。代碼覆蓋率統(tǒng)計(jì)工具用來發(fā)現(xiàn)沒有被測(cè)試覆蓋的代碼,完善單元測(cè)試的覆蓋率。 在應(yīng)用程序中,單元是具有一個(gè)或多個(gè)輸入和單個(gè)輸出的軟件中最小可測(cè)試部分。單元...

    qingshanli1988 評(píng)論0 收藏0
  • Python 的模擬測(cè)試介紹

    摘要:接下來我們將介紹如何對(duì)對(duì)象的方法進(jìn)行模擬測(cè)試。選項(xiàng)創(chuàng)建模擬測(cè)試接口我們可以在的構(gòu)造函數(shù)中提供一個(gè)模擬測(cè)試實(shí)例,而不是模擬創(chuàng)建具體的模擬測(cè)試方法。 如何不靠耐心測(cè)試 通常,我們編寫的軟件會(huì)直接與那些我們稱之為骯臟的服務(wù)交互。通俗地說,服務(wù)對(duì)我們的應(yīng)用來說是至關(guān)重要的,它們之間的交互是我們?cè)O(shè)計(jì)好的,但這會(huì)帶來我們不希望的副作用——就是那些在我們自己測(cè)試的時(shí)候不希望的功能。 比如,可能我們...

    BearyChat 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<