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

深度剖析Python 測試框架說明介紹

開發 后端
在短短的前幾個月,幾乎每個使用Python 測試框架做項目的技術人員在編寫和運行測試方面都采用自己熟悉的做法和常規的方式去處理。

許多的程序員會建議使用Python 測試框架,而不是手工測試是否相等的 assert 語句,在這種情況下測試會使用 self 而不是忽略它,對于熟悉 Python 語言的開發人員,不如 Python 的操作符那么明確。

最近出現了行業級的 Python 測試框架,這意味著 Python 測試可以編寫得更簡潔、更統一,能夠產生更好的結果報告。本文介紹比較先進的測試框架并討論它們的基本特性。Python 測試領域的蠻荒時代結束了。

但是現在,這種混亂局面終于要結束了。社區中已經出現了幾種出色的測試解決方案,它們為數百個流行的項目的測試套件提供約定和通用標準。本文是 三篇系列文章 的***篇,本系列要介紹新的測試框架。在本文中,將介紹三種流行的測試框架,討論新一代工具鼓勵的簡單測試風格。

第二篇文章發現和選擇測試 討論更大的問題:這些框架如何自動地發現和分類項目的測試。***一篇文章用 Python 測試框架生成測試報告 討論這些框架為查看測試結果提供的強大特性。

通過學習這三種框架的通用習慣做法,您不但可以更好地理解其他程序員編寫的 Python 包,還可以為自己的應用程序構建優雅、強大的測試套件。候選框架:三種 Python 測試框架有三種 Python 測試框架是目前使用最為廣泛的。下面按時間次序簡要介紹它們:

通常,從事 Zope 項目的開發人員就像是早期的拓荒者。他們需要以一種統一的方式在大型代碼基上發現和運行測試,為此開發了 zope.testing 包,這個包現在仍然得到廣泛使用。

zope.testing 包只支持 unittest 和 doctest 等傳統 Python 測試風格,而不支持更現代的框架支持的簡化風格。但是,它提供一個強大的分層系統,在這種系統中包含測試的目錄可以依賴于通用的設置代碼,設置代碼為層(而不是每個測試)創建一個運行測試所需的環境。

py.test2004 年,Holger Krekel 把他的 std 包改名為 ‘py’,因為原來的名稱常常與 Python 附帶的標準庫混淆。盡管這個包包含另外幾個子包,但是現在***的部分只有它的 py.test 框架。

py.test 框架建立了 Python 測試的新標準,目前許多開發人員都采用這種標準。它為編寫測試提供了優雅的符合Python 測試框架的習慣做法,讓開發人員能夠以非常緊湊的風格編寫測試套件。

nose 項目是于 2005 年發布的,也就是 py.test 改名后的一年。它是由 Jason Pellerin 編寫的,支持與 py.test 相同的測試習慣做法,但是這個包更容易安裝和維護。盡管 py.test 在某些方面有所進步,目前也很容易安裝,但是 nose 仍然保持了易用性方面的聲譽。在 Python 大會上,常常會看到開發人員穿著黑色 T 恤衫。

上面印著 nosetests 命令,后面是表示測試成功的點號。有意思的是,隨著 nose 的發展,在項目郵件列表上常常看到開發人員向項目負責人詢問他們的項目什么時候可以轉換到 nose。

在這三種框架中,nose 看起來會成為標準,py.test 的用戶群比較小,但是很忠誠,zope.testing 只在基于 Zope 框架的項目中受歡迎。但是,這三種框架都得到積極的維護,各有一些獨特的特性。建議您了解它們的特性和差異,選擇適合自己項目的框架。

py.test 框架接受普通的 Python 函數作為測試,而不要求把測試放在更大更重型的測試類中,這開啟了 Python 測試的新時代。因為 nose 框架支持相同的習慣做法,所以這些模式很可能越來越流行。假設希望檢查 Python 真假值 True 和 False 是否真的

  1. # test_old.py - The old way of doing things  
  2.  
  3. import unittest  
  4.  
  5. class TruthTest(unittest.TestCase):  
  6.     def testTrue(self):  
  7.         assert True == 1  
  8.  
  9.     def testFalse(self):  
  10.         assert False == 0  
  11.  
  12. if __name__ == '__main__':  
  13. unittest.main() 

看到了嗎?這么多代碼只是為了支持兩行測試代碼!首先,代碼需要一個 import 語句,這與要測試的代碼完全無關,因為測試本身簡單地忽略模塊,只使用內置的 Python 值,比如 True 和 False。

另外,要創建一個類,但是它不支持或增強測試,因為測試實際上沒有使用它們的 self 參數做任何事情。***,需要兩行固定不變的代碼,這樣才能從命令行運行這個測試。

【編輯推薦】

  1. 有關Python系統文件進行介紹指導
  2. 如何正確的使用Python函數
  3. Python 構建工具進行詳細介紹分析
  4. PythonAndroid淺析Python優勢所在
  5. 如何使用Python模塊解析配置文件?
責任編輯:chenqingxiang 來源: 機械工業出版社
相關推薦

2010-02-26 17:44:40

Python測試框架

2010-02-22 13:53:22

Python 中文亂碼

2010-02-03 11:26:28

2010-03-03 13:56:24

2010-02-07 14:29:10

Android SDK

2010-02-04 14:01:44

Android應用

2010-02-05 15:33:29

Android JDK

2009-12-07 18:43:29

WCF框架

2010-01-13 10:16:42

C++軟件

2010-02-24 17:58:28

Python 測試框架

2010-02-01 13:34:59

Python 腳本

2010-02-02 15:25:35

Python語法

2010-02-03 16:56:24

Python包

2010-03-01 14:50:06

Python 工具

2010-03-01 18:33:30

2010-02-07 15:42:46

Android單元測試

2010-01-27 09:31:39

C++Test測試

2010-01-11 17:43:23

C++程序設計

2021-11-27 05:03:09

框架深度學習

2010-02-02 13:22:06

Python面向對象
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美1区2区 | 国产一级一级国产 | 五月婷婷激情网 | 欧美精品久久久 | 日韩精品久久一区二区三区 | 理论片免费在线观看 | 欧美精品网| 久久蜜桃资源一区二区老牛 | 亚洲v区 | 国产精品久久毛片av大全日韩 | 国内精品视频 | 日韩亚洲视频 | 91佛爷在线观看 | 羞羞视频在线观看免费观看 | 午夜精品一区二区三区免费视频 | 四色永久 | 日本精品一区二区三区在线观看视频 | 久久婷婷麻豆国产91天堂 | 天堂综合网久久 | 中文字幕一区二区三区四区 | 中文字幕亚洲一区 | 颜色网站在线观看 | 五月综合激情在线 | 日韩中文字幕在线播放 | 成人一区二区三区在线观看 | 成人在线精品视频 | www.久久精品| 日韩高清av | 成人精品一区二区三区四区 | 亚洲欧美综合精品久久成人 | 久久亚洲国产精品 | 国产成人高清成人av片在线看 | 欧美一级二级视频 | 超碰最新在线 | 精品毛片在线观看 | 久久激情视频 | 婷婷开心激情综合五月天 | 欧美日韩电影一区 | 在线观看免费观看在线91 | 欧美午夜一区二区三区免费大片 | 精品日韩在线 |