一、使用方式
1. 在代码中需要调试的地方,加上两行代码:
import pdb # pdb是python自带的包,所以直接导入即可
pdb.set_trace()
2. 假设我在某测试用例方法中需要调试,则代码如下:
def test_financial_active_list_demand(api_name):
api_dsl = settings.lookup_depend(api_name)
requests = settings.resolve(api_name, api_dsl)
# 调试
import pdb
pdb.set_trace()
for req in requests:
resp = api.call(req['url'], req['method'], req['params'], req['headers'])
result = resp.json()
assert resp.status_code == 2000
if result['success'] == False:
logging.debug(resp.text)
assert result['success']
二. 我常用的几个命令(结合场景使用介绍):
1. “查看当前行的代码段”命令:l
首次进入调试模式后,用“l”可查看当前行的代码段,其中“->”就代表当前执行到的地方
2. “打印变量的值”命令:已经执行过的变量名
图中的“api_dsl”是已经执行过的变量,所以直接输入变量名就可打印出对应的值;
如果输入变量名并回车后,未输出任何东西,则说明变量的值为”None“,可以用”print(变量名)“打印出来看看
3. “打印变量的值”命令:未执行到的变量名
图中的“req”是未执行到的变量名,所以输入变量名后,报错“*** NameError: name 'req' is not defined”
4. “执行下一行”命令:n
若想继续执行下一行,就使用“n”命令
5. “查看当前行的代码段”命令:l
执行完下一行后,使用“l”查看当前执行到的地方,可看到“->”下移了一行
6. “打印变量的值”命令:已经执行过的变量名
此时再打印“req”,就可以成功了,因为“req”所在的那行已经执行过了
7. “中止并退出”命令:q
不想继续调试了,就直接退出即可。但是这个退出是直接退出,不会继续执行完程序的哦
8. 若想继续执行完程序,则使用命令“c”即可