Skip to main content

testing

Guides ccusage Rust and Vitest tests. Use when adding or fixing cargo tests, CLI snapshots, Claude model pricing, LiteLLM compatibility, Vitest tests, or fixture-backed tests.

Quellinformationen

Repository
ryoppippi/ccusage
Letzte Quellaktivität
8. Juni 2026 um 23:29
Erkannte Sprache von SKILL.md
Englisch
Sterne
15.907
Forks
638

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
3 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
testing
description
Guides ccusage Rust and Vitest tests. Use when adding or fixing cargo tests, CLI snapshots, Claude model pricing, LiteLLM compatibility, Vitest tests, or fixture-backed tests.
# ccusage Testing Use the `tdd` skill for logic changes, Red-Green-Refactor workflow, focused runner commands, Rust test syntax, and general test readability rules. This skill owns ccusage-specific Rust and Vitest test rules: fixtures, adapter coverage, pricing/model behavior, CLI output, schema artifacts, and package tooling. ## Shared Rules - Prefer behavior-focused tests over schema-shape tests unless schema normalization itself is the behavior. - Avoid `try`/`catch` in tests for expected failures. Use native result, throwing, rejecting, or explicit failure assertions for the test framework. - Avoid `if` branches inside test bodies. Split behaviors into separate tests or table-driven cases. - Tests do not need to be DRY. Prefer repeated, explicit setup when duplication makes each behavior easier to read. - Do not hoist one-off values out of tests when sharing them hides the behavior. - Skipped local-data smoke tests are acceptable when real user log directories catch schema drift, but they must not fail on clean CI machines. ## Rust Tests For repo-wide validation, prefer the `just` recipe because it runs Vitest and Rust tests together: ```sh direnv exec . just test ``` Put Rust unit tests near the module they exercise with `#[cfg(test)] mod tests`. When splitting a large module, move its tests with the code instead of leaving unrelated tests in `main.rs`. Read `references/rust.md` for fixture-backed parser, path discovery, SQLite loading, dedupe, aggregation, pricing, CLI output parity, model, and readability rules. For focused cargo commands, Red-Green-Refactor examples, Rust test attributes, and syntax examples, read `../tdd/references/rust.md`. ## Vitest Tests Read `references/vitest.md` for TypeScript package launcher, schema artifact, benchmark script, docs/package tooling, and `fs-fixture` test rules.
Auf GitHub ansehen