Python 最强编辑器详细使用指南!(三)

按照下列步骤执行程序 debug:

  1. 注意当前行被蓝色高亮显示。
  2. Debug 窗口显示 random_int 及其值。记录该数字。(上图中该数字为 85。)
  3. 点击 F8 执行当前代码行,并执行到下一行代码。如有必要,你也可以使用 F7 跳转到当前行内的函数。随着你继续执行语句,变量的变化将自动呈现在 Debugger 窗口。
  4. 注意 Debugger 标签右侧有一个 Console 标签。Console 标签和 Debugger 标签相互独立。你可以在 Console 中与程序进行交互,在 Debugger 中执行 debug 动作。
  5. 转向 Console 标签,进入猜测过程。
  6. 键入左侧 Debugger 标签中显示的数字,点击 Enter 键。
  7. 转回 Debugger 标签。
  8. 再次点击 F8,计算 if 语句。注意现在你在第 14 行。为什么不是第 11 行呢?因为第 10 行的 if 语句被计算为 False。那么为什么当你键入数字后它算出来为 False 了呢?
  9. 仔细看第 10 行,注意我们在对比 user_guess 和一个错误的项。我们应该对比用户猜测的数字和 random_int,但此处我们对比的是 randint(从 random 包导入的函数)。
  10. 将 randint 更改为 random_int,按照同样的步骤重新开始 debug。你会发现,这一次到达的是第 11 行,第 10 行算出来为 True:


Python 最强编辑器详细使用指南!(三)

恭喜你,bug 被修复了!

在 PyCharm 中进行代码测试

不经单元测试的应用都不可靠。PyCharm 可以帮助你快速舒适地写单元测试并运行。默认情况下,unittest 被用作测试运行器,而 PyCharm 还支持其他测试框架,如 pytest、nose、doctest、tox 和 trial。例如,你可以按照以下步骤为项目选择 pytest 测试运行器:

  1. 打开 Settings/Preferences → Tools → Python Integrated Tools 设置对话框。
  2. 在默认测试运行器字段中选择 pytest。
  3. 点击 OK 保存该设置。


本教程的示例将使用默认测试运行器 unittest。

在同一个项目中,创建文件 calculator.py,并将以下 Calculator 类放入该文件:

Python 最强编辑器详细使用指南!(三)


PyCharm 使得为已有代码创建测试变得轻而易举。打开 calculator.py 文件,执行以下步骤中的任意一个:

  • 在 Mac 系统中使用 Shift+Cmd+T 键,在 Windows 或 Linux 系统中使用 Ctrl+Shift+T。
  • 右键单击该类的背景,选择「Go To and Test」。
  • 在主菜单中吗,选择 Navigate → Test。


选择「Create New Test…」,得到以下窗口:Python 最强编辑器详细使用指南!(三)

Target directory、Test file name 和 Test class name 这三项均保留默认设置。选中上图中两种需要测试的方法并点击 OK。好了!PyCharm 自动创建文件 test_calculator.py,并在其中创建了以下 stub test:

Python 最强编辑器详细使用指南!(三)


使用以下方法中的任意一个运行测试:

  • 在 Mac 系统中使用 Ctrl+R 键,在 Windows 或 Linux 系统中使用 Shift+F10 键。


  • 右键单击背景,选择「Run 『Unittests for test_calculator.py』」。
  • 点击测试类名称左侧的绿色小箭头,选择「Run 『Unittests for test_calculator.py』」。


你将看到底部出现测试窗口,所有测试均失败:Python 最强编辑器详细使用指南!(三)

注意,左侧是测试结果的层次结构,右侧是终端的输出。现在,将代码更改成以下代码,实现 test_add:

Python 最强编辑器详细使用指南!(三)

上一篇:数据结构实践项目——串


下一篇:数据结构实践项目——链表