婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python測試框架unittest和pytest區別

python測試框架unittest和pytest區別

熱門標簽:南京銷售外呼系統軟件 315電話機器人廣告 蓋州市地圖標注 浙江電銷卡外呼系統好用嗎 上海機器人外呼系統哪家好 地圖標注的意義點 房產電銷外呼系統 地圖制圖標注位置改變是移位嗎 地圖標注微信發送位置不顯示

一、用例編寫規則

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

  • 測試文件必須先import unittest
  • 測試類必須繼承unittest.TestCase
  • 測試方法必須以“test_”開頭
  • 測試類必須要有unittest.main()方法

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

  • 測試文件名必須以“test_”開頭或者"_test"結尾(如:test_ab.py)
  • 測試方法必須以“test_”開頭。
  • 測試類命名以"Test"開頭。

  總結: pytest可以執行unittest風格的測試用例,無須修改unittest用例的任何代碼,有較好的兼容性。 pytest插件豐富,比如flask插件,可用于用例出錯重跑;還有xdist插件,可用于設備并行執行。     

二、用例前置和后置

(1)unittest提供了setUp/tearDown,每個用例運行前、結束后運行一次。setUpClass和tearDownClass,用例執行前、結束后,只運行一次。
(2)pytest提供了模塊級、函數級、類級、方法級的setup/teardown,比unittest的setUp/tearDown更靈活。

三、斷言

(1)unittest提供了assertEqual、assertIn、assertTrue、assertFalse。
(2)pytest直接使用assert 表達式。

四、報告

(1)unittest使用HTMLTestRunnerNew庫。
(2)pytest有pytest-HTML、allure插件。

五、失敗重跑

(1)unittest無此功能。
(2)pytest支持用例執行失敗重跑,pytest-rerunfailures插件。

六、參數化

(1)unittest需依賴ddt庫,
(2)pytest直接使用@pytest.mark.parametrize裝飾器。

使用示例

unittest

class DefaultTestCase(unittest.TestCase):
 
    def setUp(self):
        print "Start to run"
 
    def tearDown(self):
        print "Close"
 
class TestDefaultTestCase(DefaultTestCase):
 
    def test_print_b(self):
        print 'b'
 
    def test_print_a(self):
        print 'a'
 
 
if __name__ == '__main__':
    unittest.main()

運行結果:

pytest

import os
import pytest
 
# pytest是python的單元測試框架
 
def func(x):
    return x + 1
 
 
def test_a():
    print("____test_a____")
    assert func(2) == 5
 
def test_b():
    print("____test_b____")
    assert func(2) == 3
 
if __name__ == '__main__':
    pytest.main(["-s","pytest1.py"])

以上就是python測試框架unittest和pytest區別的詳細內容,更多關于unittest和pytest區別的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python中的unittest框架實例詳解
  • Python 測試框架unittest和pytest的優劣
  • Python自動化之UnitTest框架實戰記錄
  • Python unittest單元測試框架實現參數化
  • Python unittest單元測試框架及斷言方法
  • python中unittest框架應用詳解

標簽:陽泉 克拉瑪依 日照 金華 雙鴨山 貴州 臨汾 赤峰

巨人網絡通訊聲明:本文標題《python測試框架unittest和pytest區別》,本文關鍵詞  python,測試,框架,unittest,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python測試框架unittest和pytest區別》相關的同類信息!
  • 本頁收集關于python測試框架unittest和pytest區別的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 和田县| 曲阳县| 普兰店市| 闽清县| 龙陵县| 漾濞| 都匀市| 犍为县| 永顺县| 开平市| 广丰县| 尖扎县| 咸阳市| 崇仁县| 云南省| 县级市| 会昌县| 陵川县| 肇源县| 安义县| 孝昌县| 沂南县| 任丘市| 怀柔区| 凉山| 永昌县| 仙游县| 龙门县| 石柱| 汉源县| 高淳县| 肃宁县| 永春县| 芷江| 额济纳旗| 和田市| 庄浪县| 肇州县| 凌海市| 西乌| 平塘县|