python第一单元测试,python单元测试框架有哪些
在python中,单元测试是用来检查模块、函数或类的正确性的测试工作。
单元测试
它通常是一种测试一小段代码的功能的方法,比如一个函数或类。
单元测试通常是由开发人员完成的一种测试,通常测试函数和方法的代码块。测试大多设计不同的调用参数来调用函数,看函数的输出是否符合预期。当然,如果你的代码写得不好,单元测试会很麻烦。例如,一个功能模块在函数中没有内聚性,而是分散在代码文件中。在这种情况下,不容易使用函数调用来测试这些函数。
使用pytest进行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
Add(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 . testtest _ mod . py 3360: test class 33603360 test _ method # runasinglemethod in推荐课程:Python入门(黑马程序员)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。