欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python測試框架unittest和pytest區(qū)別

 更新時間:2021年04月22日 11:24:21   作者:蘇小柒  
這篇文章主要介紹了python測試框架unittest和pytest區(qū)別,幫助大家更好的理解和學(xué)習(xí)使用python進(jìn)行自動化測試,感興趣的朋友可以了解下

一、用例編寫規(guī)則

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

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

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

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

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

二、用例前置和后置

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

三、斷言

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

四、報告

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

五、失敗重跑

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

六、參數(shù)化

(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()

運行結(jié)果:

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區(qū)別的詳細(xì)內(nèi)容,更多關(guān)于unittest和pytest區(qū)別的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實現(xiàn)批量自動整理文件

    Python實現(xiàn)批量自動整理文件

    本文將利用Python制作一個批量自動整理文件的小工具,可以自定義整理某一個路徑下面的所有需要被整理的文件。感興趣的小伙伴可以了解一下
    2022-03-03
  • Python使用matplotlib繪制三維參數(shù)曲線操作示例

    Python使用matplotlib繪制三維參數(shù)曲線操作示例

    這篇文章主要介紹了Python使用matplotlib繪制三維參數(shù)曲線操作,結(jié)合實例形式分析了Python使用matplotlib的數(shù)值計算與圖形繪制相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • python單例模式的應(yīng)用場景實例講解

    python單例模式的應(yīng)用場景實例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于python單例模式的應(yīng)用場景實例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-02-02
  • 探索?Python?Restful?接口測試的奧秘

    探索?Python?Restful?接口測試的奧秘

    掌握Python?Restful?接口測試,讓你的后端服務(wù)像流水一樣順暢,本指南將帶你輕松穿梭于斷言和請求之間,搞定所有測試難題,一起來看,讓代碼在你的指尖跳舞吧!
    2023-12-12
  • pandas loc iloc ix用法詳細(xì)分析

    pandas loc iloc ix用法詳細(xì)分析

    pandas處理數(shù)據(jù)時,我們會經(jīng)??吹絛ataframe結(jié)構(gòu)使用loc, iloc, ix等方法,那么這些方法到底有啥區(qū)別,下面我們來進(jìn)行詳細(xì)分析,感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • python源碼剖析之PyObject詳解

    python源碼剖析之PyObject詳解

    Python實現(xiàn)了完全的面向?qū)ο蟮恼Z言特性,所有的類均繼承自object基類,對應(yīng)著實現(xiàn)層面的PyObject.為了實現(xiàn)多態(tài)的特性,Python的實現(xiàn)過程維護(hù)了一個類型對象系統(tǒng),用來記錄類型信息和維護(hù)類的函數(shù)成員,本文為大家詳細(xì)介紹了PyObject,需要的朋友可以參考下
    2021-05-05
  • python?random庫的簡單使用demo

    python?random庫的簡單使用demo

    這篇文章主要為大家介紹了python?random庫的簡單使用demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Python實例練習(xí)逆序輸出字符串講解

    Python實例練習(xí)逆序輸出字符串講解

    今天小編就為大家分享一篇關(guān)于Python字符串逆序輸出的實例講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2022-05-05
  • python基礎(chǔ)之函數(shù)的返回值

    python基礎(chǔ)之函數(shù)的返回值

    這篇文章主要介紹了Python函數(shù)返回值,實例分析了Python中返回一個返回值與多個返回值的方法,需要的朋友可以參考下
    2021-10-10
  • Django框架中表單的用法

    Django框架中表單的用法

    這篇文章介紹了Django框架中表單的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06

最新評論