一键导入
testing
Lingua's testing tools for transformation coverage and end-to-end SDK validation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Lingua's testing tools for transformation coverage and end-to-end SDK validation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Add support for a new LLM provider format to Lingua. Follow the test-first workflow with payload snapshots.
Run transformation coverage tests. Use compact mode when iterating on fixes, full mode when planning or documenting bugs.
Lingua's testing tools for transformation coverage and end-to-end SDK validation.
Add support for a new LLM provider format to Lingua. Follow the test-first workflow with payload snapshots.
Run transformation coverage tests. Use compact mode when iterating on fixes, full mode when planning or documenting bugs.
| name | testing |
| description | Lingua's testing tools for transformation coverage and end-to-end SDK validation. |
Two complementary testing approaches for validating cross-provider transformations.
| Tool | Purpose | Uses API? | When to Use |
|---|---|---|---|
coverage-report | Field-level roundtrip coverage | No | Finding missing/changed fields |
lingua-capture + test:transforms | Real SDK validation | Capture only | Validating against real APIs |
Tests transformations roundtrip without calling APIs. Detects lost, added, or changed fields.
# After code changes - fast validation
cargo run --bin coverage-report -- -f compact
# Filter to specific providers
cargo run --bin coverage-report -- -f compact -p anthropic,responses
# Filter to specific test case
cargo run --bin coverage-report -- -f compact -t "reasoning*"
# Initial investigation with full error details
cargo run --bin coverage-report
# Save to bug file for planning
cargo run --bin coverage-report -- -p anthropic > .claude/anthropic_bugs.md
Stats: 669/1704 (39.3%) [512+157lim] 1035fail
[P1] L:usage.prompt_cache_tokens (123)
ant→ggl: cacheParam (response)...(+44)
L: = Lost fields, A: = Added, C: = Changed(123) = affected test casesoai=ChatCompletions, ant=Anthropic, rsp=Responses, ggl=Google, bed=BedrockValidates against real provider SDKs with schema validation at every step.
chat-completions ↔ anthropicresponses ↔ anthropicCalls real SDKs (requires API keys):
cd payloads
pnpm lingua-capture # Capture missing only
pnpm lingua-capture --force # Recapture all
pnpm lingua-capture toolCall # Filter by name
Output: transforms/{source}_to_{target}/{caseName}.json
Uses captured responses (no API calls):
cd payloads
pnpm test:transforms # Run all
pnpm test:transforms:update # Update snapshots
pnpm test:transforms:watch # Watch mode
Some transformations are impossible. Document in transform_errors.json:
{
"responses_to_anthropic": {
"reasoningRequestTruncated": "max_tokens (100) < budget_tokens (1024 min)"
}
}
These tests pass silently.
Add case to payloads/cases/:
newFeature: {
"chat-completions": { model: "...", messages: [...] },
anthropic: { model: "...", max_tokens: 1024, messages: [...] },
}
Check coverage:
cargo run --bin coverage-report -- -f compact -t newFeature
Capture SDK responses:
cd payloads && pnpm lingua-capture newFeature
Run transform tests:
pnpm test:transforms
Investigate with full coverage report:
cargo run --bin coverage-report -- -p anthropic,responses > .claude/fix_bugs.md
Iterate with compact mode:
cargo run --bin coverage-report -- -f compact -p anthropic,responses
Verify SDK compatibility:
cd payloads && pnpm test:transforms
If snapshots changed intentionally:
pnpm test:transforms:update