最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python單元測試模塊doctest的具體使用

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

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

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

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

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

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

我先在我自己的項(xiàng)目下準(zhǔn)備一個(gè)測試腳本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è)置為True則在執(zhí)行測試的時(shí)候會(huì)輸出詳細(xì)信息。
  # 默認(rèn)是False,表示運(yùn)行測試時(shí),只有失敗的用例會(huì)輸出詳細(xì)信息,成功的測試用例不會(huì)輸入任何信息。

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

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

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

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

因?yàn)槲沂窃赑ycharm中創(chuàng)建的文件,我就直接打開Pycharm的Terminal,然后在交互解釋器中切換一下腳本目錄,執(zhí)行的上面說到的啟動(dòng)方式,(順便復(fù)習(xí)一下os模塊的常用操作)
ps:讀者在測試自己的例子時(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命令

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

相關(guān)文章

  • Python實(shí)現(xiàn)一個(gè)簡單三層神經(jīng)網(wǎng)絡(luò)的搭建及測試 代碼解析

    Python實(shí)現(xiàn)一個(gè)簡單三層神經(jīng)網(wǎng)絡(luò)的搭建及測試 代碼解析

    一個(gè)完整的神經(jīng)網(wǎng)絡(luò)一般由三層構(gòu)成:輸入層,隱藏層(可以有多層)和輸出層。本文所構(gòu)建的神經(jīng)網(wǎng)絡(luò)隱藏層只有一層。一個(gè)神經(jīng)網(wǎng)絡(luò)主要由三部分構(gòu)成(代碼結(jié)構(gòu)上):初始化,訓(xùn)練,和預(yù)測。,需要的朋友可以參考下面文章內(nèi)容的具體內(nèi)容
    2021-09-09
  • 深入理解Pytorch微調(diào)torchvision模型

    深入理解Pytorch微調(diào)torchvision模型

    PyTorch是一個(gè)基于Torch的Python開源機(jī)器學(xué)習(xí)庫,用于自然語言處理等應(yīng)用程序。它主要由Facebookd的人工智能小組開發(fā),不僅能夠 實(shí)現(xiàn)強(qiáng)大的GPU加速,同時(shí)還支持動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò),這一點(diǎn)是現(xiàn)在很多主流框架如TensorFlow都不支持的
    2021-11-11
  • pyQT5 實(shí)現(xiàn)窗體之間傳值的示例

    pyQT5 實(shí)現(xiàn)窗體之間傳值的示例

    今天小編就為大家分享一篇pyQT5 實(shí)現(xiàn)窗體之間傳值的示例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python對站點(diǎn)數(shù)據(jù)做EOF且做插值繪制填色圖

    python對站點(diǎn)數(shù)據(jù)做EOF且做插值繪制填色圖

    這篇文章主要介紹了python對站點(diǎn)數(shù)據(jù)做EOF且做插值繪制填色圖,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,,需要的小伙伴可以參考一下
    2022-09-09
  • python中xrange和range的區(qū)別

    python中xrange和range的區(qū)別

    這篇文章主要介紹了python中xrange和range的區(qū)別,需要的朋友可以參考下
    2014-05-05
  • python3.5繪制隨機(jī)漫步圖

    python3.5繪制隨機(jī)漫步圖

    這篇文章主要為大家詳細(xì)介紹了python3.5繪制隨機(jī)漫步圖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • python基于celery實(shí)現(xiàn)異步任務(wù)周期任務(wù)定時(shí)任務(wù)

    python基于celery實(shí)現(xiàn)異步任務(wù)周期任務(wù)定時(shí)任務(wù)

    這篇文章主要介紹了python基于celery實(shí)現(xiàn)異步任務(wù)周期任務(wù)定時(shí)任務(wù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • opencv 形態(tài)學(xué)變換(開運(yùn)算,閉運(yùn)算,梯度運(yùn)算)

    opencv 形態(tài)學(xué)變換(開運(yùn)算,閉運(yùn)算,梯度運(yùn)算)

    這篇文章主要介紹了opencv 形態(tài)學(xué)變換(開運(yùn)算,閉運(yùn)算,梯度運(yùn)算),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 使用Pandas操作Excel文件的技巧與方法分享

    使用Pandas操作Excel文件的技巧與方法分享

    今天接到一個(gè)需求,需要讀取excel,將其中兩列分別作為字典的key、value進(jìn)行保存,怎么讀取excel呢,之前好像使用過Pandas,但是接觸不多,借此機(jī)會(huì)記錄一下學(xué)習(xí)的收獲,需要的朋友可以參考下
    2023-12-12
  • 使用pandas忽略行列索引,縱向拼接多個(gè)dataframe

    使用pandas忽略行列索引,縱向拼接多個(gè)dataframe

    這篇文章主要介紹了使用pandas忽略行列索引,縱向拼接多個(gè)dataframe的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論

怀集县| 巢湖市| 且末县| 安康市| 宁城县| 大悟县| 阿拉善盟| 思茅市| 从化市| 循化| 禹州市| 萨嘎县| 安福县| 施秉县| 奈曼旗| 肇东市| 濮阳县| 全州县| 湘阴县| 拜泉县| 长宁区| 泰州市| 武强县| 红河县| 大埔县| 宣城市| 隆林| 顺平县| 普定县| 新干县| 阿巴嘎旗| 湘西| 和平区| 韶山市| 桐城市| 绍兴县| 宣武区| 嘉禾县| 敦煌市| 新建县| 罗山县|