SuperAPI AI 工具集

test

测试与质量

查看项目

更新于 10-16 03:13

技能介绍

用途:在 Apache SkyWalking 项目中按 CI 配置运行测试,用于提交 PR 前验证改动。

主要能力与用法:

  • 单元测试(unit 或无参数):./mvnw clean test -q -B -D"checkstyle.skip"
  • 集成测试(integration,排除 slow):./mvnw -B clean integration-test -Dcheckstyle.skip -DskipUTs=true -DexcludedGroups=slow
  • 慢速集成测试(slow):./mvnw -B clean integration-test -Dcheckstyle.skip -DskipUTs=true -Dit.test=org.apache.skywalking.library.elasticsearch.ElasticSearchIT -Dfailsafe.failIfNoSpecifiedTests=false
  • 单模块测试:单元测试用 ./mvnw clean test -pl oap-server/analyzer/<module-name> -D"checkstyle.skip";集成测试用 ./mvnw -B clean integration-test -pl oap-server/analyzer/<module-name> -Dcheckstyle.skip -DskipUTs=true

测试框架:JUnit 5、Mockito、AssertJ、PowerMock。命名约定:单元测试 Test.java(test 阶段),集成测试 IT.java 或 *IT.java(integration-test 阶段)。带 @Tag("slow") 的测试从常规集成测试中排除,单独在 slow-integration-test 任务运行,适用于启动 Elasticsearch 等外部服务且耗时较长的测试。

CI 参考:.github/workflows/skywalking.yaml。unit-test 在 JDK 11(ubuntu、macOS、Windows)及 JDK 17、21、25(仅 ubuntu)运行,超时 30 分钟;integration-test 在 JDK 11、17、21、25(仅 ubuntu)运行,超时 60 分钟;slow-integration-test 在 JDK 11(仅 ubuntu)运行,超时 60 分钟。三个 CI 任务失败时都会重试(同一命令执行两次),可处理不稳定测试,但会掩盖间歇性问题,本地失败应排查而非依赖重试。

限制:资料未提供其他平台、收费或价格信息。