python第一单元测试,python单元测试框架有哪些
很多程序员不太懂单元测试,那为什么还要单元测试呢?很简单,主要是提高代码的正确性,同时保证重构无错。接下来,让我们学习如何用python进行单元测试。
Python有内置的unittest,但是写起来有点繁琐。比如你要写一个TestCase类,你要用assertEqual,assertNotEqual之类的assert方法。但是使用pytest运行测试只能使用assert语句,与unittest兼容。目前PyPy、Sentry等很多知名开源项目也在使用。关于pytest的使用可以参考它的官方文档。虽然有很多高级功能,但是掌握其中的几个就足够了。
以下是py.test的基本用法,以两种常见的测试类型(验证返回值和抛出异常)为例3360。
defadd(a,b):
返回b
Args:
(整数):整数
b(int):int
返回:
有
Raises:
assertion error : ifaarbisnotinteger
assertall([isinstance(a,int),isinstance(b,int)])
退货b
deftest_add():
assertadd(1,2)==3
assertisinstance(add(1,2),int)
with pytest . raises(Exception): # test Exception
添加( 1 ,2)
基本上就是这么简单好用。真实的场景远比这复杂,有时构建测试比编写业务逻辑需要更长的时间。但是,逻辑再复杂,也是一点点的功能积累。如果我们能确保每个部分都正确,整个事情就不会出错。单元测试也提醒我们,函数完成的函数越单一越好,有利于测试。
以下是我常用的pytest命令:
py . test test _ mod . py # runtestsinmodule
py . testsomepath # runalltestsblowsomepath
Py.test-qtest _ file _ name.py #退出输出
py.test-stest_file_name.py#-s参数可以在测试代码中打印输出。默认不打印,打印没有结果。
py . test test _ mod . py : test _ func # onlyrunteststhatmatch nodeid ,
py . test test _ mod . py :3360 test class : test _ method # runasinglemethod in
就是这样用python做单元测试的。更多Python学习推荐:PyThon学习网教学中心。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。