Pytest和Unittest的區別

2022-07-09 00:42:17 字數 1042 閱讀 2737

一、用例編寫規則

1.使用unittest編寫測試用例必須遵循以下規則:

1.必須首先 匯入 import unittest

2.測試類必須要繼承 unittest.testcase

3.測試方法必須以test_kai開頭

2.pyest是python的第三方測試框架,是基於unittest的擴充套件框架,比unittest更簡潔高效,使用pytest編寫測試用例必須遵循以下規則:

1.測試檔案必須以test開頭或者_test結尾

2.測試方法需以test開頭

3.測試類必須以test開頭

二、前置跟後置

1.unittest提供了setup/teardown,每個用例執行前、結束後執行一次。setupclass和teardownclass,用例執行前、結束後,只執行一次。

2.pyets 可以在函式前使用@pytest.fixture()裝飾器,fixture使用範圍可以是:function(函式級別)、class、module(模組級別)、package(包級別)、session(多個測試類可以共用乙個session)

優勢:1.fixure命名更加靈活,侷限性比較小

2.conftest.py 配置裡可以實現資料共享,不需要import就能自動找到一些配置,可供多個py檔案呼叫。

3.scope="session" 以實現多個.py跨檔案使用乙個session來完成多個用例

三、斷言

1.unittest提供了assertequal、assertin、asserttrue、assertfalse等

2.pytest直接在assert 後面接表示式

四、測試報告

1.unittest使用htmltestrunnernew庫

2.pytest有pytest-html、allure外掛程式。

五、失敗重跑

1.unittest無此功能

2.pytest支援

六、引數化

1.unittest需要依賴於ddt庫

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

Pytest和unittest的對比

一 用例編寫規則 1.unittest提供了test cases test suites test fixtures test runner相關的類,讓測試更加明確 方便 可控。使用unittest編寫用例,必須遵守以下規則 1 測試檔案必須先import unittest 2 測試類必須繼承uni...

unittest和pytest的區別

一 用例編寫規則 1.unittest提供了test cases test suites test fixtures test runner相關的類,讓測試更加明確 方便 可控。使用unittest編寫用例,必須遵守以下規則 1 測試檔案必須先import unittest 2 測試類必須繼承uni...

unittest和pytest資料驅動分析

資料驅動的思想在於引數與引數名的對應關係,一對一,多對多,然後對資料進行拆分 第一步,導包這裡要用到ddt,data,unpack 先講一下unpack的作用就是拆分,要不然資料就是乙個整體 from ddt import ddt,data,unpack注意看清楚 data裡面的內容 data un...