测试您的第一个 Python 应用程序
请记住,在第一个教程中,您已 创建了您的第一个 Python 应用程序 ,在第二个教程中,您已 对其进行了调试。 现在是进行一些测试的时候了。
选择测试运行器
PyCharm 会自动检测 安装在您的 Python 解释器 上的测试运行器,并使用它来运行测试。 如果未安装特定的测试运行器,PyCharm 将使用 unittest。
要在项目设置中显式设置所需的测试运行器,请按 Ctrl+Alt+S 打开设置并选择 工具 | Python 集成工具 ,然后在 默认测试运行器 列表中选择目标测试运行器。

有关更多信息,请参阅 测试框架。
创建测试
创建测试的一种快速方法是让 PyCharm 基于我们要测试的类为测试生成存根。 为此,我们需要打开 car.py ,然后右键点击该类的名称,指向 ,再选择 (或直接按 Ctrl+Shift+T):

会显示一个弹出窗口,建议创建一个新测试:

好的,让我们开始吧。 我们将测试汽车是否能够加速和制动,因此请选择这些复选框:

已创建一个新的 Python 测试类:

您可以点击类定义旁边的装订区域中的 图标来运行测试。 将自动创建一个 运行/调试配置:

不过,我们可以看到该测试默认会失败:

现在我们知道可以运行测试了,让我们开始编写实际的测试代码。
编写测试
如何编写单元测试不在本文讨论范围之内。 如果您有兴趣了解如何使用 `unittest` 框架,您可以 查看其文档。
对于我们的示例,让我们使用这些测试:
运行测试
现在让我们运行测试。 右键点击 test_сar.py 编辑器选项卡,然后选择 运行 'test_car.py 中的 Python 测试':

这次几乎所有测试都成功通过了:

调试测试
让我们更仔细地查看测试代码并调试失败的测试。 在 运行 工具窗口的左侧窗格中选择失败的测试,然后在右侧窗格中找到发生错误的行号:

点击编辑器中的行号以设置断点:

接下来,启动调试器会话。 为此,请右键点击方法 test_initial_average_speed 的编辑器背景,然后从上下文菜单中选择 调试:

调试 工具窗口打开:

点击 按钮进入类
Car ,然后在 调试 工具窗口中展开 self 节点。
调试器已高亮显示将要执行的下一行(return self.odometer / self.time ),并且在 调试 工具窗口中我们可以看到 self.speed 等于 0:

这将在下一步导致异常,因为零除法是不可能的。 让我们通过向类 Car 添加一些代码来修复它。
在编辑器中选择
self.odometer / self.time。从主菜单或上下文菜单中选择 ,或者按 Ctrl+Alt+V。
输入变量的名称,例如
avg_speed:
选择语句
avg_speed = self.odometer / self.time,按 Ctrl+Alt+T ( ),然后选择 if 为语句添加条件。PyCharm 创建了一个存根
if构造:
如果
self.time等于 0,我们不应该进行除法。 因此,输入self.time != 0以指定条件。然后指定当
self.time为零时,avg_speed应等于零。 您应该得到以下内容:def average_speed(self): if self.time != 0: avg_speed = self.odometer / self.time else: avg_speed = 0 return avg_speed
切换到 test_car.py 并 运行测试:

所有测试都已通过。
自动运行测试
在最后一段中,我们在修复 Car 类后手动重新运行了测试。 如果您希望专注于代码,并只在解决问题时看到结果,PyCharm 可以为您自动运行测试。
点击工具栏上的 并选择 自动重新运行:

点击 按钮,位于 运行工具栏上。
现在,每次您在项目文件中进行更改(如 之前所做的那样),测试将自动运行,无需您的干预。