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

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

会弹出一个建议创建新测试的窗口:

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

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

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

然而,我们可以看到测试默认情况下失败了:

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

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

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

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

接下来,启动调试器会话。 为此,请右键点击方法 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 ( ),然后选择 如果 为语句添加条件。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 可以为您自动运行测试。
点击工具栏上的 并选择 自动重新运行:

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