python中pytest和unittest区别是啥?六点告诉你
Admin 2021-06-02 群英技术资讯 1471 次浏览
我们在使用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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Spark部署模式分为Local模式(本地单机模式)和集群模式,在Local模式下,常用于本地开发程序与测试,而集群模式又分为Standalone模式(集群单机模式)、Yarn模式和Mesos模式,关于这三种集群模式的相关介绍具体如下:
这篇文章主要介绍了python-for x in range的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这篇文章主要为大家介绍了Python实现流星雨效果的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助<BR>
这篇文章主要介绍了python sklearn 画出决策树并保存为PDF的实现过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
这篇文章主要介绍了Python推导式使用详情,推导式是 for 循环的简化使用方法,使用推导式,将一个可迭代对象中的数据遍历到某一个容器当中,下面文章详细介绍需要的小伙伴可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008