关于 run-tests
用于测试和验证 Coralogix `cx` CLI 的技能,帮助贡献者根据改动选择 Rust 测试、格式检查、Lint 和构建命令。
主要功能
- 01运行全部或指定 Cargo 测试
- 02检查或修复 Rust 格式
- 03以警告即错误运行 Clippy
- 04构建 CLI
- 05排查常见测试失败
适用场景
- 01提交前验证代码改动
- 02运行指定命令或模块的测试
- 03排查格式、Lint 或编译问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ coralogix/ cx-cli --skill run-tests安装后在 Claude Code 中输入/run-tests确认已加载。
详细介绍
运行测试并验证
介绍如何在 cx CLI 中运行测试、lint 和验证更改。本技能仅涵盖运行测试;如需编写新测试,请参阅 add-command 技能。
快速参考
| 命令 | 作用 |
|---|---|
cargo test | 运行所有单元测试和集成测试 |
cargo test <name> | 运行名称中包含指定子字符串的测试 |
cargo test -- --ignored | 运行集成测试(依赖文件系统,默认跳过) |
cargo fmt --check | 检查格式(不做更改) |
cargo fmt | 自动修复格式 |
cargo clippy --locked -- -D warnings | 执行 lint,并将警告视为错误 |
cargo build | 验证编译 |
完整 CI 检查
这是 CI 在每个 PR 上运行的确切步骤。请在提交或创建 PR 前运行:
cargo fmt --check && cargo clippy --locked -- -D warnings && cargo test --locked
--locked 标志可确保遵循锁定文件,这与 .github/workflows/test.yml 和 lint.yml 完全一致。CI 会在 Ubuntu、macOS 和 Windows 上运行测试。
更改后要运行哪些检查
根据更改内容选择合适的验证级别:
- 任何
.rs文件 -cargo test+cargo clippy --locked -- -D warnings - 仅格式更改 -
cargo fmt --check(或运行cargo fmt自动修复) Cargo.toml- 完整 CI 检查(依赖项更改会影响所有内容)- API 类型(
src/commands/<cmd>/api.rs) - 先运行对应命令的测试(cargo test alerts、cargo test dataprime),再运行完整测试套件 - 仅测试文件 -
cargo test <relevant_test_name>
运行指定测试
有针对性地运行测试,而不是运行整个测试套件:
cargo test alerts- 运行名称中包含 “alerts” 的所有测试cargo test --test dataprime- 仅运行tests/dataprime/集成测试二进制文件(input + output + query)cargo test --test dataprime input- 仅运行该二进制文件的input子模块cargo test config::tests- 仅运行config模块中的测试cargo test metrics::tests- 仅运行 metrics 格式测试
解读失败信息
Clippy 警告 - 通过 -D warnings 将警告视为错误。提交前请修复所有警告。常见问题包括:未使用的变量、不必要的克隆、缺少错误处理。
格式检查失败 - 运行 cargo fmt 自动修复,无需手动处理。
反序列化测试失败 - 通常表示结构体字段名称与 JSON 键不匹配。请检查响应类型上是否有 #[serde(rename_all = "camelCase")],以及 Vec 字段上是否有 #[serde(default)](API 有时会省略空数组)。
测试中的编译错误 - 可能是更改了公共函数签名所致。请检查 src/ 和 tests/ 目录中的调用方。
集成测试失败(--ignored) - 这些测试依赖文件系统状态(~/.cx/ 配置目录)。如果本地环境未配置,测试可能会失败。在不存在配置的 CI 环境中,这属于预期情况。
评论
支持 Markdown