pytest跟unittest的優勢跟劣勢


一、用例編寫規則

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裝飾器


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM