Python连载22-调试&单元测试
一、调试技术
(1)调试流程:单元测试->集成测试->交测试部
(2)分类:i.静态调试(说白了就是看代码,看看有没有错);ii.动态测试
1.pdb调试
相关连接:https://blog.csdn.net/xc_zhou/article/details/80921483
作者:周小董
2.pycharm调试
含有两种模式:(1)run/debug模式
断点:程序的某一行,程序在debug模式下,进行调试
例子:
#debug模式
def SayHello(name):
print("I want to say hello with your,{0}".format(name))
print("Hello,{0}".format(name))
print("Done....")
if __name__=="__main__":
print("****"*10)
name = input("Please input your name:")
print(SayHello(name=name))
print("@@@"*10)
下面将进行调试:
(1)pycharm有两个按钮run和debug
run是直接运行我们的代码,debug就是调试我们的代码

(2)我们要调试某一行,那就在那一行的行号位置单击一下,代表的意思就是我们如果点击debug,程序就会执行到这个位置暂停。

(3)点击debug按钮之后,在界面下面会跳出来debugger小窗,这里会是调试过程中显示程序内部变量给我们看的地方。

(4)我们暂停到这一行,还要接着执行下去,有两种按钮step over和step into。step over是执行这一行到下一行停止的意思。step into也是执行这一行到下一行停止的意思,区别在于,得看这一行是不是内含代码了。

(5)我们举个例子
我们点击step into,就会调到这个界面,意思就是看一下我们这个input语句是怎么运行的,我们知道这一行肯定没错,因此看它也没用。

(6)因此我们点击step out,跳出这个界面回到我们刚才的界面我们点击step over,我们执行这条语句就行,不用进去看代码

(7)我随笔输入了几个字母如标示1,然后刚才那条语句后面给我显示出来了标示2(debugger中也显示了,我没截图而已,从哪里看都行),然后程序向下走了一步。

(8)这时候我们点击step into,(之所以不点击是step over,是因为这条语句,里面是一个函数,我们想看看它具体怎么执行的,有没有什么错误。当然点击step over也行,他就直接把函数给执行完了,但是我们的目的就是要看看程序具体如何执行,所以才进去),看一下,果然不出所料所料,程序进入到函数里面去了,后面就是一步一步调试了。

3.单元测试
推荐文档:
https://wiki.python.org/moin/PyUnit
二、源码:
d21_2_debug_and_unit_test
地址:https://github.com/ruigege66/Python_learning/blob/master/d21_2_debug_and_unit_test
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,后台回复”礼包“,获取大数据学习资料

Python连载22-调试&单元测试的更多相关文章
- python错误处理/调试/单元测试/文档测试
一.错误处理 1.错误处理 try: ... except Exception1: ... except Exception2: ... finally: ... 如果在try中发生错误,那么exce ...
- 在Python中进行自动化单元测试的教程
From: https://www.jb51.net/article/64119.htm 一.软件测试 大型软件系统的开发是一个很复杂的过程,其中因为人的因素而所产生的错误非常多,因此软件在开发过程必 ...
- 提高你的Python能力:理解单元测试
对于程序开发新手来说,一个最常见的困惑是测试的主题.他们隐约觉得“单元测试”是很好的,而且他们也应该做单元测试.但他们却不懂这个词的真正含义.如果这听起来像是在说你,不要怕!在这篇文章中,我将介绍什么 ...
- [转] python程序的调试方法
qi09 原文 python程序的调试方法 本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序 源码例子 例如,有模拟税收计算的程序: #!/usr/bin/python de ...
- [置顶] 如何在Python IDLE中调试Python代码?
好久没有用Python了,居然忘记了怎么在Python IDLE中调试Python代码.百度了一下,然后还是写下来吧,以免以后又忘记了. 1. Set break point in the sourc ...
- 二十二. Python基础(22)--继承
二十二. Python基础(22)--继承 ● 知识框架 ● 继承关系中self的指向 当一个对象调用一个方法时,这个方法的self形参会指向这个对象 class A: def get(s ...
- Python必会的单元测试框架 —— unittest
用Python搭建自动化测试框架,我们需要组织用例以及测试执行,这里博主推荐Python的标准库——unittest. unittest是xUnit系列框架中的一员,如果你了解xUnit的其他成员,那 ...
- Python帮助函数调试函数 用于获取对象的属性及属性值
Python帮助函数调试函数 用于获取对象的属性及属性值 刚接触Python,上篇 <Python入门>第一个Python Web程序--简单的Web服务器 中调试非常不方便,不知道对象详 ...
- Python连载13-shutile模块(续)和zipfile模块
一.shutil模块(续) 1.函数:upack_archive() (1)用法:解包操作 (2)格式:shutil.unpack_archive("归档文件地址“,”解包之后的地址“) ( ...
随机推荐
- php精确计算
php BC高精确度函数库 结果: php一般的取余 只是除以整数 bc精度取余 精确到了小数
- 利器: Mac自带的图片工具Sips
Sips是Mac提供的一个处理图片的命令行工具,与Photoshop这种重量级选手相比,自然功能上要差很多.不过话说回来如大小裁剪.图片翻转和旋转这些日常小功能其实也不必非得动用Photoshop这样 ...
- pytest框架之allure报告生成
一.关于安装 allure是跟pytest一起集成使用的,所以需要同时安装pytest以及allure-pytest插件: pip install pytest pip install allure- ...
- elasticsearch 索引的使用(配合haystack)
1,# 从仓库拉取镜像$ sudo docker image pull delron/elasticsearch-ik:2.4.6-1.02,下载elasticsearc-2.4.6目录拷贝到home ...
- 史上最全的Java命名规范[转]
每个公司都有不同的标准,目的是为了保持统一,减少沟通成本,提升团队研发效能.所以本文中是笔者结合阿里巴巴开发规范,以及工作中的见闻针对Java领域相关命名进行整理和总结,仅供参考. 一.Java中的命 ...
- PHP中设计模式以及魔术方法
1.设计模式 1.1单例模式 口诀:三私一公 1.私有的静态属性用来保存对象的单例 2.私有的构造方法用来阻止在类的外部实例化 3.私有的__clone阻止在类的外部clo ...
- C#NPOI对Excel的操作、导入导出时异常处理、最全的NPOI资料在这里~
一.Excel理论知识 最新版NPOI2.4.1链接:https://pan.baidu.com/s/1iTgJi2hGsRQHyw2S_4dIUw 提取码:adnq • 整个Excel表格叫做工作 ...
- 图说真实上海IT圈:张江男VS漕河泾男
图说上海真实IT圈:张江男VS漕河泾男 架构师修炼宝典 Java 通过比较上海各住宅小区在工作日晚餐与夜宵时段一人食外卖订单指数我们会发现: 上海IT圈两大胜地: 张江高科和漕河泾双双上榜 其中张 ...
- JS基础语法---分支语句之:三元表达式
获取两个数字中的最大值 用if-else语句 var num1 = 10; var num2 = 100; if (num1 > num2) { ...
- JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼?
<JavaScript 深入浅出>系列: JavaScript 深入浅出第 1 课:箭头函数中的 this 究竟是什么鬼? JavaScript 深入浅出第 2 课:函数是一等公民是什么意 ...