python中pytest和unittest区别是啥?六点告诉你
Admin 2021-06-02 群英技术资讯 1360 次浏览
我们在使用python做接口测试的时候,会需要python的单元测试框架,在python中单元测试框架很多unittest、pytest、nose等,这篇文章就给介绍一下python的单元测试框中pytest和unittest区别是什么,接下来我们一起看看吧。
(1)unittest提供了test cases、test suites、test fixtures、test runner相关的类,让测试更加明确、方便、可控。使用unittest编写用例,必须遵守以下规则:
(2)pytest是python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效。使用pytest编写用例,必须遵守以下规则:
总结: 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"])
上文从编写规则、参数、断言、示例等方面比对了pytest和unittest,现在大家对pytest和unittest区别应该都了解了吧,希望大家阅读完这篇文章能有所收获。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章给大家带来了关于Python的相关知识,其中主要整理了随机森林模型的相关问题,包括了集成模型简介、随机森林模型基本原理、使用sklearn实现随机森林模型等等内容,
这篇文章主要介绍了Pytorch用Tensorboard来观察数据,上一篇文章我们讲解了关于Pytorch Dataset的数据处理,这篇我们就来讲解观察数据,下面具体相关资料,需要的朋友可以参考一下,希望对你有所帮助
这篇文章主要介绍了如何正确的理解和使用Django信号(Signals),帮助大家更好的理解和学习是Django,感兴趣的朋友可以了解下
阈值分割法是一种基于区域的图像分割技术,原理是把图像像素点分为若干类。本文将利用Python+OpenCV实现阈值分割,感兴趣的可以了解一下
使用matplotlib生成gif动画的方法相信大家应该都看到过,下面这篇文章主要给大家介绍了关于Python matplotlib包和gif包生成gif动画对比的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008