更新时间:2025-09-02 GMT+08:00
分享

运行pytest测试

使用该启动配置来运行pytest测试。

图1 运行pytest测试

若是没有手动创建启动配置时快速运行pytest测试,请在测试文件的代码编辑器中,单击测试类声明旁边的“全部运行”按钮()(以运行类中的所有测试),或测试方法旁边的“运行方法”按钮()(仅运行单个测试)。

CodeArts IDE会自动创建相应的pytest启动配置并将其显示在配置列表中。

启动配置中包含测试/排除测试

在“测试/排除测试”区域中,您可以列出要包含在启动配置范围内的测试或要排除的测试。

  1. 要向列表中添加测试,请单击“添加测试”按钮()。
  2. 在打开的“添加测试”窗口中,找到所需的测试。使用代码完成功能(“Ctrl+I” / “Ctrl+空格键” / “Ctrl+Shift+空格键”)让CodeArts IDE列出可用的测试。

    图2 添加测试

  3. 在“添加测试”窗口中,单击“保存”以将所选测试添加到列表中。
  4. 要从列表中删除测试,请选择它并单击“删除选定项”按钮()。
表1 启动配置属性

名称

描述

“type”

调试器的类型。对于运行和调试Python代码,应将其设置为“python”

“name”

启动配置的名称。

“request”

调试模式,可以是“launch”(在program中指定的文件或当前文件上启动调试器)、“attach”(将调试器附加到已经运行的进程)或“test”(运行单元测试)。对于pytest启动配置,此选项始终设置为“test”

“testIds”

要包含在启动配置范围中的测试ID列表。ID的格式如下:“test_file_name::test_class_name::test_method_name”

“excludeTestIds”

要从启动配置范围中排除的测试ID列表。ID的格式如下:“test_file_name::test_class_name::test_method_name”

“jinja”

当设置为“true”(默认)时,启用对Jinja模板的调试,例如在Flask应用程序中。

“python”

Python可执行文件的路径。默认值“${command:python.interpreterPath}”解析为当前选定的项目解释器。有关在项目中使用Python解释器的详细信息,请参阅“Python环境”。

“stopOnEntry”

当设置为“true”时,程序将在启动时自动挂起。

“env”

一组定义为键值对的环境变量。属性键为环境变量,属性值为环境变量的值。

“envFile”

环境变量定义文件的路径。默认情况下,此路径设置为${workspaceFolder}/.env指向.env项目根目录下的文件。

“logToFile”

当设置为“true”时,调试器事件将记录到文件中。默认情况下,此选项设置为“false”。默认的日志目录是“%userprofile%\.codearts\extensions\codearts.python-<version>\javaFiles\<project-name>\dap_<date>”

“cwd”

调试程序工作目录的绝对路径。默认值“${workspaceFolder}” 解析为项目根文件夹。您可以使用变量来提供路径。

“subProcess”

指定是否启用子进程调试。默认情况下,此选项设置为“false”

“justMyCode”

如果设置为“true”(默认),则仅显示和调试用户编写的代码。否则,显示和调试所有代码,包括库调用。

“provider”

测试框架。对于pytest启动配置,此选项始终设置为“PYTEST”

“pythonArgs”

传递给Python解释器的命令行参数。

“showReturnValue”

如果设置为“true”(默认),则在“运行和调试”视图中逐步执行时显示函数的返回值。

启动配置示例

以下是一个可运行的启动配置示例。

{
   "excludeTestIds": [],
   "request": "test",
   "jinja": true,
   "python": "${command:python.interpreterPath}",
   "stopOnEntry": false,
   "env": {},
   "type": "python",
   "logToFile": false,
   "testIds": [
       "test_file_name::test_class_name::test_method_name"
   ],
   "cwd": "${workspaceFolder}",
   "subProcess": false,
   "justMyCode": true,
   "provider": "PYTEST",
   "pythonArgs": [],
   "name": "Python pytest tests",
   "showReturnValue": true
}

相关文档