Skip to main content

此版本的 GitHub Enterprise Server 已于以下日期停止服务 2024-03-26. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

test accept

接受失败的单元测试的结果。

谁可以使用此功能?

GitHub CodeQL 在安装后按用户授权。 根据许可证限制,只能将 CodeQL 用于某些任务。 有关详细信息,请参阅“关于 CodeQL CLI”。

如果你有 GitHub Advanced Security 许可证,则可以使用 CodeQL 进行自动分析、持续集成和持续交付。 有关详细信息,请参阅“关于 GitHub 高级安全性”。

本文内容

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

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

摘要

Shell
codeql test accept <options>... -- <test|dir>...

说明

接受失败的单元测试的结果。

该命令十分便利,它将 codeql test run 因失败的测试而留下的 .actual 文件重命名为 .expected,以便将来在提供相同输出的测试上运行时被视为通过。 它的作用也可以通过普通的文件操作来实现,但你可能会发现它的语法对于这种特殊情况更有用。

命令行参数指定一个或多个测试(即 .ql(ref) 文件),该命令会自动从中派生 .actual 文件的名称。 系统将以无提示的方式忽略任何没有 .actual 文件的测试,这样就可以轻松地接受前一次运行中失败的测试的结果。

选项

主要选项

<test|dir>...

每个参数是下列项之一:

  • 定义要运行的测试的 .ql.qlref 文件。
  • 将在其中以递归方式搜索要运行的测试的目录。

--slice=<N/M>

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

--[no-]strict-test-discovery

[高级] 仅使用可强标识为测试的查询。 此模式尝试将定义单元测试的 .ql 文件和旨在用作有用查询的 .ql 文件进行区分。 此工具由 IDE 等工具使用,这些工具需要在不依靠之前对目录树中文件排列方式的了解来标识目录树中的所有单元测试。

在其 qlpack.yml 声明 tests 目录的 QL 包中,该目录中的所有 .ql 文件都被视为测试,其外部的 .ql 文件会被忽略。 在未声明 tests 目录的 QL 包中,.ql 文件仅在具有相应的 .expected 文件时才会被标识为测试。

为了保持一致性,.qlref 文件受到与 .ql 文件相同的规则限制,即使 .qlref 文件实际上不能是“非测试”也是如此。

常用选项

-h, --help

显示此帮助文本。

-J=<opt>

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

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

-v, --verbose

以增量方式增加输出的进度消息数。

-q, --quiet

以增量方式减少输出的进度消息数。

--verbosity=<level>

[高级] 将详细级别显式设置为“错误”、“警告”、“进度”、“进度+”、“进度++”、“进度+++”之一。 重写 -v-q

--logdir=<dir>

[高级] 将详细日志写入给定目录中的一个或多个文件,其中生成的名称包括时间戳和正在运行的子命令的名称。

(若要使用可以完全控制的名称编写日志文件,请根据需要提供 --log-to-stderr 并重定向 stderr。)

--common-caches=<dir>

[高级] 控制磁盘上缓存数据的位置,此位置会在多次运行 CLI(例如下载的 QL 包和已编译查询计划)期间暂留。 如果未明确设置,则默认为用户主目录中名为 .codeql 的目录;如果尚不存在,则会创建该目录。

v2.15.2 起可用。