自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對(duì)Python測試套件進(jìn)行介紹分析

開發(fā) 后端
下面文章介紹下什么是Python測試套件,其中在Python測試套件中包含 docfile 和 doctest這兩項(xiàng)子套件,希望本文能教會(huì)大家許多知識(shí)。

Python測試套件具有腳本語言中最豐富和強(qiáng)大的類庫,足以支持絕大多數(shù)日常應(yīng)用。它的名字來源于一個(gè)喜劇,也許最初設(shè)計(jì)Python這種語言的人并沒有想到今天Python會(huì)在工業(yè)和科研上獲得如此廣泛的使用。

在比較長的文檔中,由三個(gè)大于號(hào)組成的 Python 提示符 >>> 是一個(gè)非常明顯的標(biāo)志,它表示在 Python 提示上應(yīng)該發(fā)生什么。正如在本系列的***篇文章中看到的,這可以出現(xiàn)在作為文檔的單獨(dú)的文本文件中:

  1. Doctest for truth and falsehood  
  2. -------------------------------  
  3.  
  4. The truth values in Python, named "True" and "False",  
  5. are equivalent to the Boolean numbers one and zero.  
  6.  
  7. >>> True == 1  
  8. True  
  9. >>> False == 0  
  10. True 

這種說明還可以出現(xiàn)在源代碼中模塊、類或函數(shù)的 docstring 中:

  1. def count_vowels(s):  
  2.     """Count the number of vowels in a string.  
  3.  
  4.     >>> count_vowels('aardvark')  
  5.     3  
  6.     >>> count_vowels('THX')  
  7.     0  
  8.  
  9.     """  
  10.     return len( c for c in s if c in 'aeiou') 

當(dāng)這些測試出現(xiàn)在文本文件中時(shí)(比如***個(gè)示例),文件就被稱為 docfile。當(dāng)它們出現(xiàn)在 Python 源代碼中的 docstring 中時(shí)(比如第二個(gè)示例),它們就被稱為 doctest。因?yàn)?docfile 和 doctest 是編寫作為測試使用的文檔的常用方法(而且這也能夠表明文檔什么時(shí)候過時(shí)了),所以 py.test 和 nose 直接支持它們。

(zope.testing 的用戶必須使用標(biāo)準(zhǔn) doctest 模塊中的 DocTestSuite 類為每個(gè)文件手工創(chuàng)建 Python 測試用例)。與用于尋找測試模塊的規(guī)則一樣,py.test 框架采用固定的過程支持 doctest,無法進(jìn)行配置,這在項(xiàng)目之間實(shí)現(xiàn)標(biāo)準(zhǔn)化,但是限制了項(xiàng)目的靈活性。

如果啟用了它的Python測試套件,它就會(huì)在所有 Python 模塊(包括模塊名中不包含 test 的模塊)的文檔字符串中以及以 test_ 開頭和以 .txt 擴(kuò)展名結(jié)尾的所有文本文件中尋找 doctest。

如果啟用了它的 -p restdoc 插件,那么不但執(zhí)行 .txt 文件中的所有 doctest,py.test 還要求項(xiàng)目中的每個(gè) .txt 文件都是有效的 Restructured Text 文件。如果它們造成解析錯(cuò)誤,py.test 會(huì)發(fā)出警告。還可以通過命令行選項(xiàng)讓這個(gè)插件檢查文檔中指定的 URL,然后生成每個(gè) .txt 文本文件的 HTML 版本。

doctest-tests 是干擾最小的選項(xiàng),它只要求 nose 在已經(jīng)檢查的測試模塊的 docstring 中尋找 doctest。with-doctest 選項(xiàng)的影響比較大。它要求 nose 搜索所有一般模塊(不是測試但包含一般代碼的模塊),尋找并運(yùn)行它們的 docstring 中的 doctest。#t#

***,--doctest-extension 允許指定文件擴(kuò)展名(我認(rèn)識(shí)的大多數(shù)開發(fā)人員選擇 .txt、.rst 或 .doctest)。這要求 nose 讀取項(xiàng)目中具有指定的擴(kuò)展名的所有文本文件,運(yùn)行并檢查它找到的所有Python測試套件。

盡管 py.test 和 nose 在這方面的特性集非常相似,但是我更喜歡 nose 的方式。我喜歡對(duì)所有 Restructured Text 文件使用非標(biāo)準(zhǔn)的 .rst 擴(kuò)展名,這樣就可以讓文本編輯器能夠識(shí)別它們并對(duì)它們應(yīng)用特殊的語法突出顯示。

【編輯推薦】

  1. 有關(guān)Python系統(tǒng)文件進(jìn)行介紹指導(dǎo)
  2. 如何正確的使用Python函數(shù)
  3. 對(duì)Python 構(gòu)建工具進(jìn)行詳細(xì)介紹分析
  4. PythonAndroid淺析Python優(yōu)勢所在
  5. 如何使用Python模塊解析配置文件?
責(zé)任編輯:chenqingxiang 來源: 網(wǎng)界網(wǎng)
相關(guān)推薦

2010-02-03 15:09:13

Python 構(gòu)建工具

2009-12-17 16:57:35

LTP套件

2010-03-01 18:01:45

Python環(huán)境變量

2009-12-08 17:08:13

WCF Service

2011-03-04 09:09:07

BlueJ

2013-05-24 09:25:27

2017-09-26 19:02:09

PythonInstagram數(shù)據(jù)分析

2020-11-30 10:15:00

Python突變測試編程語言

2009-12-23 11:10:38

ADO.NET狀態(tài)

2010-01-05 13:29:50

JSON對(duì)象

2009-12-08 09:21:13

WCF數(shù)據(jù)量

2010-05-20 14:42:02

MySQL數(shù)據(jù)

2010-02-02 13:28:46

Python變量

2011-04-14 09:05:07

ExcelMySQL數(shù)據(jù)

2018-04-19 15:13:53

javascriptwebpackvue.js

2010-01-28 14:04:35

C++鏈表

2010-01-04 16:24:07

ADO連接池

2012-11-01 11:32:23

IBMdw

2012-11-01 11:37:05

JavaScript單元測試測試工具

2010-12-27 09:19:23

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)