![](https://img-blog.csdnimg.cn/123c08f3c9ca4905ac53104f40734893.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
【开发者工具】
文章平均质量分 72
调试与测试
Bruce小鬼
**高级测试开发**
- 技术是在不断打磨中成长,
- 能力是在不断采坑中成熟,
- 技术人的路就是在采坑中寻找乐趣,在成长过程中不断成熟。
> 书山有路勤为径,学海无涯苦作舟
关注:brucelong.blog.csdn.net
展开
-
捕获异常变量详细信息-cgitb模块
当我们捕获异常时正常输出的异常上下文信息只有调用的模块、类、方法、如果想查看异常时变量值是看不到的。我们只有debug程序才能找到异常原因。使用cgitb模块能够输出发生异常时所有信息,包括程序执行每个步骤变量信息,方便我们从异常信息中分析出原因。省去了debug过程,提高排查问题的效率。原创 2023-02-27 13:52:13 · 341 阅读 · 0 评论 -
python-trace模块追踪代码执行流
这篇文章介绍trace模块帮助查看程序的执行路径,生成覆盖报告帮助梳理函数间的调用关系。原创 2023-02-24 20:22:52 · 2375 阅读 · 0 评论 -
profile模块测试性能再优化程序
python内置了两种profiler,一种是由profile模块提供的纯python版本,还有一种是由cProfile模块提供的C扩展版本。这个版本在执行测评过程中,对受测程序的影响比较小,测评结果更加准确。相反纯Python版本开销会比较大,测评结果有所偏差。原创 2022-11-29 11:47:46 · 548 阅读 · 0 评论 -
重构代码用warning提醒调用者API发生变化
下面我们来开发一个模块,计算一辆汽车在一定的平均速度和一段时长下,能够运行的距离。speed默认的单位是英里/小时,时长的单位是小时。#根据传入的速度和时长计算能够运行多远的距离 def print_distance(speed , duration) : distance = speed * duration print(f' {distance } miles') print_distance(5 , 2.5) # 调用这个功能计算运行距离 print_distance(1000 , 3){原创 2022-12-02 11:07:16 · 344 阅读 · 0 评论 -
python解决循环依赖
下面通过一个循环引用示例,来介绍python引入模块的原理。示例中创建了三个模块,它的引用关系如下dialog.py模块引入了app模块的prefs类的get方法app模块引入了dialog模块的show方法创建一个python文件,命名为dialog.py')创建一个python文件,命名为app.py创建一个python文件,命名为main.pyimport app运行上面循环引用代码,抛出了异常要明白上面为什么会抛出循环引用异常,首先要明白python是如何引入模块的。原创 2022-12-01 22:28:40 · 1943 阅读 · 1 评论 -
tracemalloc分析内存使用情况与泄露
python内存管理是通过引用计数执行的,如果指向某个对象的引用全部过期,那么受引用的对象就可以从内存中清除,从而给其他数据腾出空间。理论上讲,python开发不用担心程序如何分配和释放内存,因为python系统本身以及Cpython运行环境会自动处理这些问题。但实际情况程序会因为没有及时释放不再需要引用的数据耗尽内存。下面通过一些方法来看下内存使用情况。原创 2022-11-30 22:01:46 · 1317 阅读 · 0 评论 -
使用pdb交互式调试程序
在其他大部分语言中,如果要使用调试器,那么必须现在源文件中设置断点,让程序执行到这一行停下来然后调试程序。而python不用这样,他可以直接在假设有问题的代码位置上加一条指令到程序停下来,启动调试器。采用这种方法来调试程序与正常启动程序并没有什么区别。尤其适合在没有IDE编辑器时,通过python命令界面调试运行中的代码非常的方便。原创 2022-11-30 21:05:17 · 839 阅读 · 0 评论