一键导入
testing
Use for testing tasks: writing unit, integration, and e2e tests; setting up test frameworks; achieving coverage goals; and testing strategies.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use for testing tasks: writing unit, integration, and e2e tests; setting up test frameworks; achieving coverage goals; and testing strategies.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use for ANY software development task: feature requests, bug fixes, code implementation, refactoring, testing, documentation, commits, project setup. Also when the user explicitly mentions lemoria, SDD, PRD, or agents. This is the default orchestrator for all development work.
Use for server-side tasks: implementing APIs, services, business logic, authentication, and middleware with any backend stack (Python, TypeScript, Go, Java, Rust, etc.).
Use for code review tasks: reviewing PRs, verifying PRD alignment, detecting technical debt, security issues, and suggesting improvements.
Use for database tasks: designing schemas, writing migrations, indexing, query optimization, and data modeling with SQL and NoSQL databases.
Use for documentation tasks: writing README, technical docs, API reference, ADRs, changelogs, and syncing with Obsidian vault.
Use for UI tasks: implementing components, pages, routing, styling, responsive design, accessibility, and client-side logic with any framework (React, Vue, Svelte, Solid, vanilla JS, etc.).
| name | testing |
| description | Use for testing tasks: writing unit, integration, and e2e tests; setting up test frameworks; achieving coverage goals; and testing strategies. |
/\
/ e2e \
/ ~10% \
/------------\
/ integration \
/ ~20% \
/------------------\
/ unit ~70% \
/______________________\
def test_charge_fails_when_card_declined():
# Arrange
card = Card(number="4000000000000002", expiry="12/28")
amount = Money(5000, "CLP")
# Act
result = payment_service.charge(card, amount)
# Assert
assert result.is_error()
assert result.error == "card_declined"
| Metric | Target |
|---|---|
| Line coverage | ≥ 80% |
| Branch coverage | ≥ 70% |
| Mutation score | ≥ 60% |
| Critical logic | 100% |
Coverage is a floor, not a goal. What matters is what you test.
| Language | Unit | Integration | E2E |
|---|---|---|---|
| Python | pytest | pytest + httpx | Playwright |
| TypeScript | vitest / jest | supertest + vitest | Playwright |
| Go | go test | go test + httptest | Playwright |
| Java | JUnit 5 | SpringBootTest | Playwright |
| Rust | cargo test | cargo test + reqwest | — |
Test invariants with random inputs:
# Python (Hypothesis)
@given(st.lists(st.integers()))
def test_sort_always_returns_sorted(lst):
result = sorted(lst)
for i in range(len(result) - 1):
assert result[i] <= result[i + 1]
sleep() or time-dependent logic