跳至主要内容

解析测试

[深层底层实现] 在指定目录中查找 QL 单元测试。

谁可以使用此功能?

CodeQL 可用于以下仓库类型

本文内容

注意

此内容描述了 CodeQL CLI 的最新发布版本。有关此版本的更多信息,请参阅 https://github.com/github/codeql-cli-binaries/releases

要查看早期版本中此命令可用的选项详情,请在终端中使用 --help 选项运行该命令。

概要

Shell
codeql resolve tests <options>... -- <test|dir>...

描述

[深层底层实现] 在指定目录中查找 QL 单元测试。

此底层实现命令负责将子命令(运行 QL 单元测试)的命令行参数展开为实际的 .ql 和 .qlref 文件列表,以便执行。

选项

主要选项

<test|dir>...

每个参数是以下之一

  • 一个定义待运行测试的 .ql.qlref 文件。
  • 一个目录,将递归搜索其中的测试以运行。

--slice=<N/M>

[高级] 将测试用例划分为 M 个大致等大小的切片,并仅处理第 N 个切片。这可用于手动并行化测试过程。

--[no-]strict-test-discovery

[高级] 仅使用可以明确识别为测试的查询。此模式尝试区分定义单元测试的 .ql 文件和旨在作为有用查询的 .ql 文件。该选项供 IDE 等工具使用,这些工具需要在不依赖先前对文件组织方式了解的情况下,识别目录树中的所有单元测试。

如果 QL 包的 qlpack.yml 声明了 tests 目录,则该目录中的所有 .ql 文件均视为测试,而目录外的 .ql 文件则被忽略。对于未声明 tests 目录的 QL 包,只有当 .ql 文件拥有相应的 .expected 文件时,才会被识别为测试。

为保持一致性,.qlref 文件受与 .ql 文件相同的规则限制,尽管 .qlref 文件实际上不可能是非测试文件。

--format=<fmt>

选择输出格式,可为 text (默认)json

常用选项

-h, --help

显示此帮助文本。

-J=<opt>

[高级] 为运行该命令的 JVM 提供选项。

(请注意,包含空格的选项将无法正确处理。)

-v, --verbose

逐步增加打印的进度信息数量。

-q, --quiet

逐步减少打印的进度信息数量。

--verbosity=<level>

[高级] 将详细程度显式设置为以下之一:errors、warnings、progress、progress+、progress++、progress+++。会覆盖 -v-q

--logdir=<dir>

[高级] 将详细日志写入指定目录中的一个或多个文件,文件名会包含时间戳和运行的子命令名称。

(若希望自行完全控制日志文件名,请改用 --log-to-stderr 并按需重定向 stderr。)

--common-caches=<dir>

[高级] 控制磁盘上缓存数据的位置,这些数据会在 CLI 的多次运行之间保持,例如已下载的 QL 包和已编译的查询计划。如果未显式设置,则默认使用用户主目录下名为 .codeql 的目录;如该目录不存在,则会自动创建。

v2.15.2 起可用。

© . This site is unofficial and not affiliated with GitHub, Inc.