亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python單元測(cè)試模塊doctest的具體使用

 更新時(shí)間:2020年02月10日 11:22:26   作者:MarsenSeven  
這篇文章主要介紹了Python單元測(cè)試模塊doctest的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

開(kāi)發(fā)高質(zhì)量軟件的過(guò)程中,我們經(jīng)常會(huì)為每個(gè)函數(shù)編寫(xiě)測(cè)試,這樣在開(kāi)發(fā)過(guò)程中運(yùn)行這些測(cè)試的時(shí)候就比較方便,doctest是一個(gè)python標(biāo)準(zhǔn)庫(kù)自帶的輕量單元測(cè)試工具,適合實(shí)現(xiàn)一些簡(jiǎn)單的單元測(cè)試。

doctest模塊提供的這樣的工具,用于掃描模塊并驗(yàn)證程序文檔字符串中嵌入的測(cè)試,在docstring中尋找到測(cè)試用例并執(zhí)行,比較輸出結(jié)果與期望值是否符合。

我們?nèi)绾螛?gòu)造這些測(cè)試呢?很簡(jiǎn)單

在python的交互解釋器中創(chuàng)建測(cè)試用例,并復(fù)制到docstring中

tip:doctest在docstring中尋找測(cè)試用例的時(shí)候,認(rèn)為>>>是一個(gè)測(cè)試用例的開(kāi)始,直到遇到空行或者下一個(gè)>>>,在兩個(gè)測(cè)試用例之間有其他內(nèi)容的話,會(huì)被doctest忽略(可以利用這個(gè)特性為測(cè)試用例編寫(xiě)一些注釋)。

我先在我自己的項(xiàng)目下準(zhǔn)備一個(gè)測(cè)試腳本quality_q.py:

def average(values):
  """Computes the arithmetic mean of a list of numbers.

  >>> print(average([20, 30, 70]))
  40.0
  """
  return sum(values) / len(values)


#
if __name__ == '__main__':
  import doctest
  doctest.testmod(verbose=True) # automatically validate the embedded tests
  # 那個(gè)verbose參數(shù),如果設(shè)置為T(mén)rue則在執(zhí)行測(cè)試的時(shí)候會(huì)輸出詳細(xì)信息。
  # 默認(rèn)是False,表示運(yùn)行測(cè)試時(shí),只有失敗的用例會(huì)輸出詳細(xì)信息,成功的測(cè)試用例不會(huì)輸入任何信息。

啟動(dòng)測(cè)試的方法:

第一個(gè)是在__main__函數(shù)中調(diào)用了doctest.testmod()方法。
然后在交互解釋器中執(zhí)行運(yùn)行腳本 python3 doctest_q.py

如果__main__函數(shù)有其他用途,不方便調(diào)用doctest.testmod()方法,那么可以用另外一種執(zhí)行測(cè)試的方法:

在交互解釋器中執(zhí)行如下命令執(zhí)行測(cè)試: python3 -m doctest doctest_q.py -v
這里 -m 表示引用一個(gè)模塊,-v 等價(jià)于 verbose=True

因?yàn)槲沂窃赑ycharm中創(chuàng)建的文件,我就直接打開(kāi)Pycharm的Terminal,然后在交互解釋器中切換一下腳本目錄,執(zhí)行的上面說(shuō)到的啟動(dòng)方式,(順便復(fù)習(xí)一下os模塊的常用操作)
ps:讀者在測(cè)試自己的例子時(shí)只需注意一下自己的當(dāng)前工作目錄即可

看一下最后的結(jié)果:

➜ ForF python3
Python 3.7.3 (default, Mar 27 2019, 09:23:15)
[Clang 10.0.1 (clang-1001.0.46.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

>>> import os

>>> os.getcwd()
'/Users/dengjiguang/PycharmProjects/ForF'
>>> os.chdir('/Users/dengjiguang/PycharmProjects/ForF'+'/python_sample/quality_control')

>>> os.system('python3 -m doctest doctest_q.py -v')
Trying:
  print(average([20, 30, 70]))
Expecting:
  40.0
ok
1 items had no tests:
  doctest_q
1 items passed all tests:
  1 tests in doctest_q.average
1 tests in 2 items.
1 passed and 0 failed.
Test passed.
0
>>>

os.getcwd():返回當(dāng)前的工作目錄
os.chdir(‘path'):切換工作目錄
os.system(‘command'): 執(zhí)行系統(tǒng)shell命令

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python ansible自動(dòng)化運(yùn)維工具執(zhí)行流程

    python ansible自動(dòng)化運(yùn)維工具執(zhí)行流程

    ansible是基于 paramiko 開(kāi)發(fā)的,并且基于模塊化工作,本身沒(méi)有批量部署的能力,接下來(lái)通過(guò)本文給大家分享python ansible自動(dòng)化運(yùn)維工具的特點(diǎn)及執(zhí)行流程,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • 使用pycallgraph分析python代碼函數(shù)調(diào)用流程以及框架解析

    使用pycallgraph分析python代碼函數(shù)調(diào)用流程以及框架解析

    這篇文章主要介紹了使用pycallgraph分析python代碼函數(shù)調(diào)用流程以及框架解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • python使用socket遠(yuǎn)程連接錯(cuò)誤處理方法

    python使用socket遠(yuǎn)程連接錯(cuò)誤處理方法

    這篇文章主要介紹了python使用socket遠(yuǎn)程連接錯(cuò)誤處理方法,可有效的獲取Python中socket連接錯(cuò)誤處理的相關(guān)信息,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • pytorch lstm gru rnn 得到每個(gè)state輸出的操作

    pytorch lstm gru rnn 得到每個(gè)state輸出的操作

    這篇文章主要介紹了pytorch lstm gru rnn 得到每個(gè)state輸出的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python字符串逆序的實(shí)現(xiàn)方法【一題多解】

    Python字符串逆序的實(shí)現(xiàn)方法【一題多解】

    今天小編就為大家分享一篇關(guān)于Python字符串逆序的實(shí)現(xiàn)方法【一題多解】,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • Python依賴管理及打包工具Poetry使用規(guī)范

    Python依賴管理及打包工具Poetry使用規(guī)范

    這篇文章主要為大家介紹了Python依賴管理及打包工具Poetry的依賴規(guī)范,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-09-09
  • python中利用matplotlib讀取灰度圖的例子

    python中利用matplotlib讀取灰度圖的例子

    今天小編就為大家分享一篇python中利用matplotlib讀取灰度圖的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python批量安裝卸載1000個(gè)apk的方法

    Python批量安裝卸載1000個(gè)apk的方法

    這篇文章主要介紹了Python批量安裝卸載1000個(gè)apk的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python使用zmail進(jìn)行郵件發(fā)送的示例詳解

    Python使用zmail進(jìn)行郵件發(fā)送的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Python如何使用zmail進(jìn)行郵件發(fā)送功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下
    2024-03-03
  • django框架中ajax的使用及避開(kāi)CSRF 驗(yàn)證的方式詳解

    django框架中ajax的使用及避開(kāi)CSRF 驗(yàn)證的方式詳解

    這篇文章主要介紹了django框架中ajax的使用及避開(kāi)CSRF 驗(yàn)證的方式,結(jié)合實(shí)例形式分析了Django框架ajax后臺(tái)交互與排除驗(yàn)證csrf相關(guān)操作技巧,需要的朋友可以參考下
    2019-12-12

最新評(píng)論