国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python測試框架unittest和pytest區別

瀏覽:55日期:2022-06-21 18:04:21
一、用例編寫規則

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

運行結果:

python測試框架unittest和pytest區別

pytest

import osimport 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 編程
相關文章:
主站蜘蛛池模板: 专栏| 黄大仙区| 鹿泉市| 剑阁县| 九江市| 钟山县| 蚌埠市| 长治县| 遂溪县| 房产| 浙江省| 思南县| 徐水县| 龙江县| 治县。| 岳西县| 龙口市| 博爱县| 鹤岗市| 镶黄旗| 昭苏县| 蒲江县| 即墨市| 绥化市| 凤山市| 湄潭县| 昌乐县| 博客| 万源市| 台州市| 峨边| 宜阳县| 城市| 连城县| 天柱县| 白山市| 许昌县| 富顺县| 策勒县| 新平| 赤城县|