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("归档文件地址“,”解包之后的地址“) ( ...
随机推荐
- Ajax和跨域请求
Ajax 一.概述 Web 程序最初的目的就是将信息(数据)放到公共的服务器,让所有网络用户都可以通过浏览器访问. 在次之前,我们可以通过以下几种方式让浏览器发出对服务端的请求,获取服务端的数据: 地 ...
- 前端优化,包括css,jss,img,cookie
前端优化,来自某懒观看麦子学院视频的笔记. 尽可能减少HTTP的请求数 使用CDN 添加Expirs头,或者Cache-control Gzip组件压缩文件内容 将CSS放在页面上方 将脚本放到页面下 ...
- body标签添加ontouchstart属性
之前看别人的代码,发现他的body标签添加ontouchstart属性.即 <body ontouchstart> 上网查了一下原因,记录一下: 这个操作是进行手机端兼容处理的,防止伪类: ...
- SSD与HDD、HHD的区别
SSD与HDD.HHD的区别 HDD机械硬盘 SSD固态硬盘 HHD混合硬盘
- idea创建maven的web项目
前言 今天搭xfire的时候,我想对xfire进行一下测试,就想弄个web工程试试,发现网上写的很多没有用的,就自己写了一下.十分精简.也介绍了如何解决maven骨架建立项目非常慢的问题. 介绍 1. ...
- OpenGL光照2:材质和光照贴图
本文是个人学习记录,学习建议看教程 https://learnopengl-cn.github.io/ 非常感谢原作者JoeyDeVries和多为中文翻译者提供的优质教程 的内容为插入注释,可以先跳过 ...
- oracle学习笔记(二十三)——JDBC调用存储过程以及批量操作
jdbc调用存储过程 使用并获得out模式的参数返回值 //存储过程为sum_sal(deptno department.deptno%type,sum in out number) Callable ...
- TreeMap源码分析,看了都说好
概述 TreeMap也是Map接口的实现类,它最大的特点是迭代有序,默认是按照key值升序迭代(当然也可以设置成降序).在前面的文章中讲过LinkedHashMap也是迭代有序的,不过是按插入顺序或访 ...
- Java生鲜电商平台-商品基础业务架构设计-商品设计
Java生鲜电商平台-商品基础业务架构设计-商品设计 在生鲜电商的商品中心,在电子商务公司一般是后台管理商品的地方.在前端而言,是商家为了展示商品信息给用户的地方,它是承担了商品的数据,订单,营销活动 ...
- Java生鲜电商平台-OMS订单系统中并发问题和锁机制的探讨与解决方案
Java生鲜电商平台-OMS订单系统中并发问题和锁机制的探讨与解决方案 说明:Java开源生鲜电商中OMS订单系统中并发问题和锁机制的探讨与解决方案: 问题由来 假设在一个订单系统中(以火车票 ...