【PyCharm教程】PyCharm 运行测试

通常,PyCharm 通过运行您创建的运行/调试配置以与其他应用程序相同的方式运行和调试测试。这样做时,它将指定的测试类或方法传递给测试运行器。
在许多情况下,您可以从上下文菜单启动测试会话。为此,某些上下文菜单中提供了运行和调试命令。例如,这些命令可用于项目工具窗口中的测试类、目录或包。它们也可用于您当前在编辑器中处理的测试类或方法。
如果您运行没有永久运行/调试配置的测试,则会创建一个临时配置。如果您想稍后重用它,您可以使用运行/调试配置对话框保存这样的配置。
测试在后台运行,因此您可以同时执行多个测试。
每个正在运行的配置在运行工具窗口中都有自己的选项卡(测试结果选项卡)。一个选项卡可以聚合多个测试。
另请注意,上下文菜单中显示的命令是上下文相关的,即显示的测试命令取决于测试运行器和调用此命令的位置。
运行或调试测试
要开始运行或调试测试,您可以使用项目工具窗口或编辑器中的主工具栏或上下文菜单:
使用主工具栏:
- 从主工具栏上的列表中选择必要的运行/调试配置。
按下Alt+Shift+F10可查看可用运行配置列表或Alt+Shift+F9调试配置。
- 单击列表右侧的运行
或调试。
或者,选择运行 | 运行 Shift+F10或运行 | Shift+F9从主菜单调试。
使用上下文菜单:
- 右键单击Project工具窗口中的测试文件或测试类或在编辑器中打开它,然后右键单击背景。从上下文菜单中,选择Run <class name> / Run <filename>或Debug...。
- 对于测试方法,在编辑器中打开类并右键单击方法中的任意位置。上下文菜单建议使用命令Run / Debug <method name>。
运行目录中的所有测试
- 在项目工具窗口中,选择包含要执行的测试的目录。
- 从上下文菜单中,选择相应的运行命令。
如果目录包含属于不同测试框架的测试,请选择要使用的配置。
例如,选择 Run pytest in <directory name>'。
- 在测试运行器中探索结果。
对于 Django 1.1 及更高版本,如果此测试运行器是一个类,PyCharm 支持自定义测试运行器。
默认情况下,所有的测试都是一一执行的。您可以为 pytest 测试框架更改此行为并并行执行测试。
并行运行测试
启用测试多处理以优化 pytest 测试的执行。
要明确指定测试执行的 CPU 数量:
- 按照安装、卸载和升级包中的说明安装pytest-xdist包。
- 指定 pytest 作为项目测试框架。
- 从主工具栏上的运行/调试配置列表中选择编辑配置...。在Run/Debug Configurations对话框中,展开Pytest 测试组,然后在 <directory name> 中选择 pytest。
当您第一次在目录中运行所有测试时,PyCharm 会创建此配置。如果您尚未执行测试,请单击图标并指定运行/调试配置参数。
- 在Run/Debug Configurations对话框中,在Additional Arguments字段中指定运行测试的 CPU 数量:
-n <number of CPUs>
并保存更改。
- 现在再次运行目录中的所有测试并检查运行工具窗口中的输出。在所示示例中,总执行时间为 12 秒 79 毫秒,而相应地运行相同测试时为 30 秒 13 毫秒。测试报告提供有关用于运行测试的 CPU 和执行时间的信息。
或者,您可以在pytest.ini文件中指定运行测试的 CPU 数量。例如,
[pytest]
addopts = -n3
如果您在pytest.ini文件和运行/调试配置中指定不同的 CPU 编号值,则后者优先于pytest.ini文件中的设置。
如果您可以停止正在运行的测试,则所有正在运行的测试都会立即停止。运行工具窗口中的测试图标反映了测试的状态(通过、失败、中止)。
终止测试执行
- 在运行工具窗口中,单击停止按钮
。
- 或者,按Ctrl+F2。