最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)文章

最新評論

台中市| 龙陵县| 新巴尔虎左旗| 凯里市| 金川县| 普洱| 同江市| 定结县| 壶关县| 绥中县| 灵丘县| 乐平市| 濮阳县| 武鸣县| 宣汉县| 自治县| 墨江| 乌鲁木齐市| 巴楚县| 景宁| 平顺县| 红河县| 新宁县| 长子县| 梓潼县| 雷州市| 高淳县| 昭苏县| 海安县| 广安市| 格尔木市| 卓尼县| 青海省| 杭州市| 隆昌县| 张北县| 宜章县| 吐鲁番市| 滁州市| 八宿县| 格尔木市|