pytest跟unittest的優點跟劣勢

1、用例編寫規則session

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

  1.必須首先 導入 import unittest函數

  2.測試類必需要繼承 unittest.TestCase測試

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

2.pyest是Python的第三方測試框架,是基於unittest的擴展框架,比unittest更簡潔高效,使用pytest編寫測試用例必須遵循如下規則:繼承

  1.測試文件必須以test開頭或者_test結尾it

  2.測試方法需以test開頭io

  3.測試類必須以Test開頭function

2、前置跟後置class

  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來完成多個用例

3、斷言

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

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

4、測試報告

  1.unittest使用HTMLTestRunnerNew庫

  2.pytest有pytest-HTML、allure插件。

5、失敗重跑

  1.unittest無此功能

  2.pytest支持

6、參數化

  1.unittest須要依賴於ddt庫

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

相關文章
相關標籤/搜索