日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python自动化框架pytest pdf_Python 自动化测试框架 unittest 和 pytest 对比

發(fā)布時間:2025/3/11 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python自动化框架pytest pdf_Python 自动化测试框架 unittest 和 pytest 对比 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、用例編寫規(guī)則

1.unittest提供了test cases、test suites、test fixtures、test runner相關(guān)的類,讓測試更加明確、方便、可控。使用unittest編寫用例,必須遵守以下規(guī)則:

(1)測試文件必須先import unittest

(2)測試類必須繼承unittest.TestCase

(3)測試方法必須以“test_”開頭

(4)測試類必須要有unittest.main()方法

2.pytest是python的第三方測試框架,是基于unittest的擴展框架,比unittest更簡潔,更高效。使用pytest編寫用例,必須遵守以下規(guī)則:

(1)測試文件名必須以“test_”開頭或者"_test"結(jié)尾(如:test_ab.py)

(2)測試方法必須以“test_”開頭。

(3)測試類命名以"Test"開頭。

總結(jié): unittest :用例格式--復(fù)雜,不能兼容pytest用例;

pytest:? ?用例格式--簡單,可以兼容unittest用例;

二、用例前置和后置

1.unittest提供了setUp/tearDown,只能針對所有用例。

2.pytest提供了模塊級、函數(shù)級、類級、方法級的setup/teardown,比unittest的setUp/tearDown更靈活。

模塊級(setup_module/teardown_module)開始于模塊始末,全局的

函數(shù)級(setup_function/teardown_function)只對函數(shù)用例生效(不在類中)

類級(setup_class/teardown_class)只在類中前后運行一次(在類中)

方法級(setup_method/teardown_method)開始于方法始末(在類中)

類里面的(setup/teardown)運行在調(diào)用方法的前后

pytest還可以在函數(shù)前加@pytest.fixture()裝飾器,在測試用例中使用fixture函數(shù)。fixture的使用范圍可以是function,module,class,session。

firture相對于setup和teardown來說有以下幾點優(yōu)勢:

命名方式靈活,不局限于setup和teardown這幾個命名

conftest.py 配置里可以實現(xiàn)數(shù)據(jù)共享,不需要import就能自動找到一些配置,可供多個py文件調(diào)用。

scope="module" 可以實現(xiàn)多個.py跨文件共享前置

scope="session" 以實現(xiàn)多個.py跨文件使用一個session來完成多個用例

用yield來喚醒teardown的執(zhí)行

三、斷言: 更加簡單

1.unittest提供了assertEqual、assertIn、assertTrue、assertFalse。

2.pytest直接使用assert 表達式。

四、報告

1.unittest使用HTMLTestRunnerNew庫。

2.pytest有豐富的插件庫,如pytest-HTML、allure插件,可以生成非常漂亮的報告。

五、失敗重跑

1、unittest無此功能。

2、pytest支持用例執(zhí)行失敗重跑,pytest-rerunfailures插件。

六、參數(shù)化

1、unittest需依賴ddt庫,

2、pytest直接使用 @pytest.mark.parametrize 裝飾器。

七、用例分類執(zhí)行 & 自動加載識別用例

1、unittest默認執(zhí)行全部的用例,可以通過加載testsuite執(zhí)行部門模塊用例;

2、pytest可以通過 @pytest.mark 來標(biāo)記測試用例,執(zhí)行命令加上參數(shù)“-m”即可運行標(biāo)記的用例。

轉(zhuǎn)自https://www.cnblogs.com/test123/p/10560311.html

總結(jié)

以上是生活随笔為你收集整理的python自动化框架pytest pdf_Python 自动化测试框架 unittest 和 pytest 对比的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。