SuperAPI AI 工具集

testing

测试与质量

查看项目

更新于 10-15 23:31

技能介绍

用途:面向 IntelliJ 社区版仓库,说明如何运行和排查 tests.cmd 测试、测试发现与运行器选项。

主要能力:支持按 JPS 模块与测试模式运行测试,模式可为全限定类名(FQN)、通配符或 FQN#方法名,多个测试用分号分隔;社区专属模块使用 community/tests.cmd;Ultimate 检出中可通过 Bazel 目标运行 ApiCheckTest,并用逗号分隔模块名做聚焦检查;产品布局与打包变更需额外运行 AllProductsPackagingTest。

使用方式:基本命令为 ./tests.cmd --module <module> --test <pattern>。--module 为包含测试类的 JPS 模块,模块名取自测试目录下 .iml 文件名(去掉扩展名);--test 使用 FQN 或通配符,简单类名如 MyTest 不生效,需写 *MyTest。方法级测试用 FQN#methodName,且不能与通配符同用。额外 -D 参数会作为 JVM 标志传给 TestingOptions,例如 -Dintellij.build.test.attempt.count=3 重试、-Dintellij.build.test.jvm.memory.options=-Xmx8g 调整堆、-Dpass.<property>=<value> 透传系统属性;调试可设 -Dintellij.build.test.debug.enabled=true 等并附加到 5005 端口。PowerShell 下需用 --% 停止解析模式传递 -D 参数。

适用场景:本地运行或排查 IntelliJ 测试、定位测试发现失败、处理内存不足与 CI 偶发失败、执行 API 检查与打包冒烟测试。

限制:community/platform/build-scripts/bazel 等独立 Bazel 模块不能用 tests.cmd,须在该目录用 ../../../../bazel.cmd test;测试发现失败通常源于模式错误、模块错误或类不在测试模块类路径;Bazel 增量编译正常,无需 bazel clean。更深入内部机制见 TESTING-internals.md,编写测试见 Writing Tests 指南。