成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

漫談Python 測試框架問題

開發 后端
下面進行學習下什么是 Python 測試框架,這說明Python 測試可以編寫得更簡潔、更統一,能夠產生更好的結果報告。

對于每一個IT行業的從業人員,無論是開發人員、項目經理、還是測試人員,掌握了Python 測試框架這們語言會使我們的編程工作更簡單和更輕松,下面進行學習研究。

本文討論三種***的測試框架如何識別和收集測試,以及它們如何支持編寫完整的測試層,共享共同的 setup 和 teardown 代碼。這三篇系列文章 的 ***篇文章 討論了標準測試框架(比如 zope.testing、py.test 和 nose)給 Python 測試領域帶來的革命性影響。

這些框架支持更簡單的測試方法,讓項目不再需要為運行測試編寫和維護專門的代碼。第二篇文章 討論了這些自動化解決方案如何搜索 Python 包以識別可能包含測試的模塊。本文討論下一步,介紹框架在找到測試模塊之后如何發現其中的待測試項。還討論一些細節,比如這三種框架對共同的 setup 和 teardown 代碼的支持情況。

對于 zope.testing 框架,您會發現 Zope 社區有一些有意思的現象。Zope 社區并不為解決每個問題構建大型工具。而是構建小型的功能有限的工具,這些工具能夠連接在一起。目前,zope.testing 模塊本身實際上根本沒有提供檢測測試的機制!

相反,zope.testing 讓程序員自己尋找每個模塊中需要運行的測試并把它們集中在一個列表中。它在每個測試模塊中只尋找一個東西:test_suite() 函數,這個函數應該返回標準 unittest.TestSuite 類的實例,其中包含模塊定義的測試。

使用 zope.testing 的一些程序員在 test_suite() 函數中手工地創建和維護測試列表。其他程序員通過編寫定制代碼發現已經定義的可用測試。但是,最有意思的方法是使用另一個 Zope 包 z3c.testsetup,它能夠像其他現代 Python 測試框架一樣自動地發現包中的測試。

這一現象再次說明 Zope 程序員傾向于編寫小型代碼塊,然后使用它們構建框架,而不是編寫大型的全面解決方案。z3c.testsetup 包不包含可以選擇測試的命令行界面,也不包含可以顯示測試結果的輸出模塊;它完全依靠 zope.testing 實現這些功能。

實際上,z3c.testsetup 用戶一般不使用 zope.testing 的測試模塊發現功能。相反,他們繞開 zope.testing 的算法。按照它的默認行為只尋找名為 test.py 的模塊,然后在整個源代碼樹中只提供一個采用此名稱的模塊。在最簡單的情況下,他們的 test.py 像下面這樣:

  1. class Category(models.Model):     
  2.     id = models.AutoField('id', primary_key=True)     
  3.     name = models.CharField(maxlength=50)     
  4.     code = models.CharField(maxlength=50)     
  5.     parentCategory = models.ForeignKey('self', 'id', null=True)     
  6.     enable = models.BooleanField()     
  7.          
  8.     def __str__(self):     
  9.         return self.name     
  10.          
  11.     class Admin:     
  12.         list_display = ('id', 'name', 'code', 'parentCategory')   

這完全不通過 zope.testing 執行測試發現任務,而是依靠Python 測試框架本身提供的更強大的發現機制。可以向 register_all_tests() 函數提供幾個配置選項。詳細信息請參見 z3c.testsetup 文檔,這里只需要介紹它的基本行為。與本文討論的其他框架不同,z3c.testsetup 在默認情況下不關心包中每個 Python 模塊的名稱,而是關注它的內容。

它檢查所有模塊以及包中的所有 .txt 或 .rst 文件,選擇文本中指定了 :Test-Layer: 的文件。然后,它組合模塊中的所有 TestCase 和文本文件中的所有 doctest 部分,形成測試套件。

***注意,Zope 測試框架只支持 UnitTest 實例或 doctest。正如本系列的***篇文章中討論的,更現代的 Python 測試框架還支持一般的 Python 函數作為有效測試。這需要不同的測試檢測算法,在下面討論的框架中就會看到。

【編輯推薦】

  1. 漫談Python 源代碼編制技巧
  2. 簡單易于操作的Python 工具詳解
  3. 有關Python應用領域進行說明介紹
  4. PythonAndroid面向對象的編程——Python應用程序
  5. 如何使用Python模塊解析配置文件 ?
責任編輯:chenqingxiang 來源: CSDN
相關推薦

2012-12-21 12:37:24

2011-12-07 14:56:18

2009-02-24 10:31:33

軟件測試工程師角色定位

2009-07-22 14:49:18

ibmdwPython測試

2010-01-04 14:18:02

ADO Command

2010-02-26 17:44:40

Python測試框架

2010-02-23 11:26:56

Python 測試框架

2023-03-22 18:17:49

Python框架測試自動化

2021-01-20 08:24:38

序列化內存對象

2010-02-23 10:50:11

Python 測試框架

2019-09-24 09:37:36

Python 開發編程語言

2010-02-26 16:05:19

Python 源代碼

2020-02-26 08:16:32

AIoT人工智能物聯網

2010-01-04 14:40:51

ADO 檢索

2010-02-24 17:58:28

Python 測試框架

2019-01-21 09:00:00

Python 開發編程語言

2010-02-01 11:03:51

Python Djan

2009-06-22 15:52:15

JSF測試框架

2011-03-30 16:54:13

JUnit

2010-03-01 18:21:08

Python測試
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久亚洲国产精品 | 中文字幕一区二区三区在线视频 | 中文字幕在线一区 | 亚洲精品视频一区 | 97国产精品视频人人做人人爱 | 成人av免费播放 | 亚洲视频一区在线观看 | 一区二区三区日韩精品 | 欧美精品日韩精品国产精品 | 精品久久久久久 | 最新国产在线 | 精品粉嫩aⅴ一区二区三区四区 | 啪视频在线 | av在线亚洲天堂 | 天天操天天干天天爽 | 欧美日韩精品久久久免费观看 | 午夜免费观看 | 久久99精品视频 | 国产精品一区二区三区在线 | 欧美精品久久 | 五月槐花香 | 做a视频在线观看 | 国产精品一区二区视频 | av免费网站在线观看 | 久久久久成人精品 | 欧美韩一区二区三区 | 中文字幕在线观看一区 | 欧美日韩亚洲系列 | 国产97久久 | 成人欧美一区二区三区黑人孕妇 | 亚洲成人精品 | 久久久久久国产精品免费免费狐狸 | 亚洲在线免费 | 天堂色网 | 国产精品亚洲视频 | 欧美寡妇偷汉性猛交 | 色婷婷狠狠 | 国产精品1区 | 成人欧美一区二区三区黑人孕妇 | 日本高清精品 | 天天澡天天操 |