一、调试技术

(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-调试&单元测试的更多相关文章

  1. python错误处理/调试/单元测试/文档测试

    一.错误处理 1.错误处理 try: ... except Exception1: ... except Exception2: ... finally: ... 如果在try中发生错误,那么exce ...

  2. 在Python中进行自动化单元测试的教程

    From: https://www.jb51.net/article/64119.htm 一.软件测试 大型软件系统的开发是一个很复杂的过程,其中因为人的因素而所产生的错误非常多,因此软件在开发过程必 ...

  3. 提高你的Python能力:理解单元测试

    对于程序开发新手来说,一个最常见的困惑是测试的主题.他们隐约觉得“单元测试”是很好的,而且他们也应该做单元测试.但他们却不懂这个词的真正含义.如果这听起来像是在说你,不要怕!在这篇文章中,我将介绍什么 ...

  4. [转] python程序的调试方法

    qi09 原文 python程序的调试方法 本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序 源码例子 例如,有模拟税收计算的程序: #!/usr/bin/python de ...

  5. [置顶] 如何在Python IDLE中调试Python代码?

    好久没有用Python了,居然忘记了怎么在Python IDLE中调试Python代码.百度了一下,然后还是写下来吧,以免以后又忘记了. 1. Set break point in the sourc ...

  6. 二十二. Python基础(22)--继承

    二十二. Python基础(22)--继承 ● 知识框架   ● 继承关系中self的指向 当一个对象调用一个方法时,这个方法的self形参会指向这个对象 class A:     def get(s ...

  7. Python必会的单元测试框架 —— unittest

    用Python搭建自动化测试框架,我们需要组织用例以及测试执行,这里博主推荐Python的标准库——unittest. unittest是xUnit系列框架中的一员,如果你了解xUnit的其他成员,那 ...

  8. Python帮助函数调试函数 用于获取对象的属性及属性值

    Python帮助函数调试函数 用于获取对象的属性及属性值 刚接触Python,上篇 <Python入门>第一个Python Web程序--简单的Web服务器 中调试非常不方便,不知道对象详 ...

  9. Python连载13-shutile模块(续)和zipfile模块

    一.shutil模块(续) 1.函数:upack_archive() (1)用法:解包操作 (2)格式:shutil.unpack_archive("归档文件地址“,”解包之后的地址“) ( ...

随机推荐

  1. PHP面试题大全(值得收藏)

    PHP进阶.面试:文档.视频资源点击免费获取 一 .PHP基础部分 1.PHP语言的一大优势是跨平台,什么是跨平台? PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操 ...

  2. oracle11g安装教程

  3. 用.net core实现反向代理中间件

    最近在将一些项目的rest api迁移到.net core中,最开始是用的Nginx做反向代理,将已经完成切换的部分切入系统,如下图所示: 由于迁移过程中也在进行代码重构,需要经常比较频繁的测试,以保 ...

  4. C#简单的枚举及结构

    using System; namespace program { enum WeekDays { a, b, c = ,//11 赋值以后就变成11,不赋值就是2 d, e, f, g }//不能输 ...

  5. javascript构造函数深度克隆递归

    <script type="text/javascript"> var obj={ name:'段丛磊', gex:18, sss:['李伟',18], fun:fun ...

  6. Nagios 钉钉报警

    第一章 创建钉钉应用(用于发送报警信息给单独某个用户) 打开钉钉管理后台: https://oa.dingtalk.com 创建成功后需要记录三个值"AgentID"," ...

  7. go-GUI-代码

    直接看网址吧,所有的GO-GUI代码!~~~~ 网址

  8. Python入门你要懂哪些?

    前言 什么是计算机语言 计算机就是一台用来计算的机器,人让计算机干什么计算机就得干什么! 需要通过计算机的语言来控制计算机(也就是编程语言)! 计算机语言其实和人类的语言没有本质的区别,不同点就是交流 ...

  9. 74HC238引脚定义 使用方法

    三八译码器 用作IO扩展与复用 用3个IO,可以控制8个输出 引脚定义 A0~A2:3个输入 E1.E2:拉低使能,可以接地 E3:拉高使能,可以接VCC Y0~Y7:8个输出 真值表 如果想输出8个 ...

  10. App iCON 尺寸

    120*120  180*180 58*58  87*87 80*80  120*120