Run Tests

coralogix/cx-cli/.claude/skills/run-tests

作者 coralogixc0713729787b無授權條款121 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫昨天更新

Use this skill when the user asks to "run tests", "test this", "check if tests pass", "cargo test", "run clippy", "lint this", "check formatting", "cargo fmt", "CI checks", "verify changes", "does this pass tests", "run the full check", "pre-commit check", or wants to verify that code changes are correct. Use this even when the user says something like "make sure this works" or "check for issues" in the context of code changes.

AI 產生的概覽

為 cx CLI 執行 Rust 測試、程式碼檢查與格式檢查,並解讀失敗原因。

功能
此技能說明如何為 Rust 專案 cx CLI 執行測試、程式碼檢查與驗證。它列出用於單元測試與整合測試、格式檢查、clippy 檢查與建置的 cargo 指令,並給出 CI 使用的確切指令順序。它也說明不同變更後應執行哪些檢查,並解釋常見失敗原因,例如 clippy 警告、格式問題與反序列化不符。
適用情境
當使用者要求執行測試、檢查測試是否通過、執行程式碼檢查或格式檢查,或驗證程式碼變更是否正確時使用。它也適用於在此 Rust 程式碼庫上執行完整 CI 檢查或提交前檢查的要求。
執行需求
需要 Rust 工具鏈,包含 cargo、rustfmt 與 clippy,以及專案相依套件與鎖定檔。標記為 ignored 的整合測試相依於本機檔案系統狀態,例如 ~/.cx/ 設定目錄。此技能不附帶指令碼,僅為說明文件。

Run Tests & Verify

How to run tests, lint, and verify changes in the cx CLI. This skill covers running only - for writing new tests, see the add-command skill.

Quick Reference

CommandWhat it does
cargo testRun all unit + integration tests
cargo test <name>Run tests matching a name substring
cargo test -- --ignoredRun integration tests (filesystem-dependent, skipped by default)
cargo fmt --checkCheck formatting (no changes)
cargo fmtAuto-fix formatting
cargo clippy --locked -- -D warningsLint with warnings-as-errors
cargo buildVerify compilation

Full CI Check

This is the exact sequence CI runs on every PR. Run it before committing or creating a PR:

bash
cargo fmt --check && cargo clippy --locked -- -D warnings && cargo test --locked

The --locked flag ensures the lockfile is respected - this matches .github/workflows/test.yml and lint.yml exactly. CI runs tests on Ubuntu, macOS, and Windows.

What to Run After a Change

Pick the right level of verification based on what changed:

  • Any .rs file - cargo test + cargo clippy --locked -- -D warnings
  • Formatting only - cargo fmt --check (or cargo fmt to auto-fix)
  • Cargo.toml - full CI check (dependency changes affect everything)
  • API types (src/commands/<cmd>/api.rs) - run that command's tests first (cargo test alerts, cargo test dataprime), then the full suite
  • Test files only - cargo test <relevant_test_name>

Running Specific Tests

Target tests efficiently instead of running the entire suite:

  • cargo test alerts - all tests with "alerts" in the name
  • cargo test --test dataprime - only the tests/dataprime/ integration test binary (input + output + query)
  • cargo test --test dataprime input - only the input submodule of that binary
  • cargo test config::tests - only the tests in the config module
  • cargo test metrics::tests - only metrics formatting tests

Interpreting Failures

Clippy warnings - treated as errors via -D warnings. Fix every warning before committing. Common ones: unused variables, unnecessary clones, missing error handling.

Format failures - run cargo fmt to auto-fix. These never need manual intervention.

Deserialization test failures - usually means struct field names don't match JSON keys. Check that #[serde(rename_all = "camelCase")] is on response types and that #[serde(default)] is on Vec fields (the API sometimes omits empty arrays).

Compilation errors in tests - likely caused by changing a public function signature. Check callers in both src/ and tests/ directories.

Integration test failures (--ignored) - these depend on filesystem state (~/.cx/ config directory). They may fail if the local environment isn't set up. This is expected in CI where no config exists.

來源與署名

來源:coralogix/cx-cli位於.claude/skills/run-tests提交c071372

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架