91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

5個超實用的Python自動化測試框架分別是什么

發布時間:2021-12-04 10:16:28 來源:億速云 閱讀:1298 作者:柒染 欄目:網絡管理

5個超實用的Python自動化測試框架分別是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

隨著技術的進步和自動化技術的出現,市面上出現了一些自動化測試框架。只需要進行一些適用性和效率參數的調整,這些自動化測試框架就能夠開箱即用,大大節省了開發時間。而且由于這些框架被廣泛使用,他們具有很好的健壯性,并且具有廣泛多樣的用例集和技術來輕易發現微小的缺陷。今天,我們將看一看常見的 Python 自動化測試框架。

常見的測試框架

1、Unittest

unittest是Python內置的標準類庫。它的API跟Java的JUnit、.net的NUnit,C++的CppUnit很相似。

通過繼承unittest.TestCase來創建一個測試用例。

舉個例:

import unittest

def fun(x):
return x + 1

class MyTest(unittest.TestCase):
def test(self):
self.assertEqual(fun(3), 4)

執行后成功。

但是,如果將期望的結果改成5,則執行的結果如下圖所示:

5個超實用的Python自動化測試框架分別是什么

2、 Doctest

doctest 模塊會搜索那些看起來像交互式會話的 Python 代碼片段,然后嘗試執行并驗證結果.即使從沒接觸過 doctest,我們也可以從這個名字中窺到一絲端倪。“它看起來就像代碼里的文檔字符串(docstring)一樣” 如果你這么想的話,就已經對了一半了。

舉個例子:

def square(x):
"""Squares x.

>>> square(2)
4
>>> square(-2)
4
>>> square(5)
25
"""

return x * x

if __name__ == '__main__':
import doctest
doctest.testmod()

當執行該代碼后,會執行文檔內>>> 后面的測試代碼,并與下一行的結果進行比對。執行的結果如下:

5個超實用的Python自動化測試框架分別是什么

但是,如果我們把結果改一下,square(2)的結果改成5,測試代碼如下:

def square(x):
"""Squares x.

>>> square(2)
5
>>> square(-2)
4
>>> square(5)
25
"""

return x * x

if __name__ == '__main__':
import doctest
doctest.testmod()

執行的測試結果如下所示:

5個超實用的Python自動化測試框架分別是什么

3、py.test

pytest是python的一種單元測試框架,與python自帶的unittest測試框架類似,但是比unittest框架使用起來更簡潔,效率更高。根據pytest的官方網站介紹,它具有如下特點: 
①非常容易上手,入門簡單,文檔豐富,文檔中有很多實例可以參考 
②能夠支持簡單的單元測試和復雜的功能測試 
③支持參數化 
④執行測試過程中可以將某些測試跳過,或者對某些預期失敗的case標記成失敗 
⑤支持重復執行失敗的case 
⑥支持運行由nose, unittest編寫的測試case 
⑦具有很多第三方插件,并且可以自定義擴展 
⑧方便的和持續集成工具集成

編寫pytest測試樣例

編寫pytest測試樣例非常簡單,只需要按照下面的規則(和nose類似): 
測試文件以test_開頭(以_test結尾也可以) 
測試類以Test開頭,并且不能帶有 init 方法 
測試函數以test_開頭 
斷言使用基本的assert即可

example.py

5個超實用的Python自動化測試框架分別是什么5個超實用的Python自動化測試框架分別是什么

setup_class/teardown_class 在當前測試類的開始與結束執行。

setup/treadown 在每個測試方法開始與結束執行。

setup_method/teardown_method 在每個測試方法開始與結束執行,與setup/treadown級別相同。

執行pytest測試樣例

執行測試樣例的方法很多種,上面第一個實例是直接執行py.test,第二個實例是傳遞了測試文件給py.test。其實py.test有好多種方法執行測試:

5個超實用的Python自動化測試框架分別是什么

4、Nose

Nose是對unittest的擴展,使得python的測試更加簡單。nose自動發現測試代碼并執行,nose提供了大量的插件,比如測試輸出的xUnitcompatible,覆蓋報表等等。

nose的詳細文檔: https:///latest/http://

5、Unittest2

是unitest的升級版。對API進行了改善以及更好的診斷語法。

unittest2的詳細文檔:https://ittest2http://www./mock/

也就是說,如果你對自動化測試有你的期望值,那么就肯定是要付出相應的代價和精力的。好的東西也是需要優秀的人花大量的時間去完成的。在正式進入到自動化測試的領域之前,先要建立這樣的價值觀才能在軟件測試這條路上走的更遠。

看完上述內容,你們掌握5個超實用的Python自動化測試框架分別是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陇南市| 贵阳市| 乌什县| 孟连| 城固县| 雷山县| 汤阴县| 绥棱县| 唐山市| 拉萨市| 海丰县| 北宁市| 县级市| 鹤山市| 民勤县| 射阳县| 泸州市| 海南省| 台南县| 方山县| 冷水江市| 宜宾市| 台东市| 临夏县| 于都县| 胶南市| 内黄县| 九龙县| 舞钢市| 平原县| 阜城县| 林芝县| 瑞丽市| 南康市| 涞水县| 青铜峡市| 南雄市| 木兰县| 邻水| 五原县| 洞口县|