一、用例編寫規則
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裝飾器