首页IT科技python单元测验答案(在python中单元测试是什么)

python单元测验答案(在python中单元测试是什么)

时间2025-07-31 02:22:48分类IT科技浏览4793
导读:在python中,单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。...

在python中              ,单元测试是用来对一个模块              、一个函数或者一个类来进行正确性检验的测试工作               。

单元测试

通常是测试一小块代码的功能                      ,比如一个函数       ,类的一个方法                     。

单元测试通常是开发人员做的一种测试       ,通常是测试函数                      ,方法这种级别的代码块的       。单元测试大都是 设计出不同的调用参数来调用函数               ,来看 函数 的输出是否符合预期               。当然如果你的代码写的不好的话       ,单元测试也会比较麻烦                      。比如一个功能模块没有内聚到函数中                     ,而是分散在代码文件里面       。那样               ,就不容易用一个函数调用对这些功能进行测试       。

使用pytest进行python进行单元测试

python内置了一个unittest,但是写起来稍微繁琐                     ,比如都要写一个TestCase类                      ,还得用 assertEqual, assertNotEqual等断言方法                      。 而使用pytest运行测试统一用assert语句就行,兼容unittest              ,目前很多知名开源项目如PyPy                      ,Sentry也都在用              。关于pytest的使用可以参考其官方文档       ,虽然有很多高级特性              ,但是掌握其中一小部分基本就够用了       。

下面是py.test的基本用法                      ,以常见的两种测试类型(验证返回值和抛出异常)为例:

defadd(a,b): """returna+b Args: a(int):int b(int):int Returns: a+b Raises: AssertionError:ifaorbisnotinteger """ assertall([isinstance(a,int),isinstance(b,int)]) returna+b deftest_add(): assertadd(1,2)==3 assertisinstance(add(1,2),int) withpytest.raises(Exception):#testexception add(1,2)

上面是示例       ,真实场景下远远比这个复杂       ,甚至有时候构造测试的时间比写业务逻辑的时间还要长                      。但是再复杂的逻辑也是一点点功能堆积                      ,如果可以确保每一部分都正确               ,整体上是不会出错的              。单元测试同时也提醒我们       ,函数完成的功能尽可能单一                     ,这样才利于测试。

下面几个是我常用的pytest命令:

py.testtest_mod.py#runtestsinmodule py.testsomepath#runalltestsbelowsomepath py.test-qtest_file_name.py#quite输出 py.test-stest_file_name.py#-s参数可以打印测试代码中的输出               ,默认不打印,print没结果 py.testtest_mod.py::test_func#onlyrunteststhatmatchthe"nodeID", py.testtest_mod.py::TestClass::test_method#runasinglemethodin

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
js的单例模式(JavaScript中单例模式这样用) 天天想你在线观看完整版电影免费(天天seo伪原创)