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.

معلومات المصدر

المستودع
ryoppippi/ccusage
آخر نشاط في المصدر
٨ يونيو ٢٠٢٦ في ٢٣:٢٩
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١٥٬٩٠٧
التفرعات
٦٣٨

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
3 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
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.
عرض على GitHub