testing.reach_coverage
Increase unit test coverage toward 100 percent for a function or file
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-02
- Stars
- ★ 155
- Forks
- 170
01 前言 Front Matter
- model
- haiku
- description
- Increase unit test coverage toward 100 percent for a function or file
03 SKILL.md 正文
Goal
- Given the passed function, file, or files
<FILES>, increase unit test coverage from the corresponding files<TEST_FILES>to approach 100 percent using a plan-then-implement approach
Workflow
Establish Current Coverage
-
Identify the test files corresponding to the target function, file, files
<TEST_FILES>using the rules- E.g.,
helpers/hllm_cli.py -> helpers/test/test_hllm_cli.py
- E.g.,
-
Print the files to test
Target files: <FILES> Test files: <TEST_FILES> -
Run the following command and record the results:
# Using invoke (preferred): > i run_coverage --suite fast --generate-html-report # Or directly with pytest inside Docker: > pytest --cov=<PKG> --cov-report=term-missing --cov-report=html <TEST_FILE> -
Summarize which lines and branches are not covered
Design a Testing Plan
- Analyze uncovered code paths and behaviors
- Propose a clear testing plan that:
- Tests functions modularly before testing interactions
- Prioritizes end-to-end and user-visible behavior over incidental implementation details
- Avoids testing assertions, defensive checks, or invalid inputs unless they are critical to correctness
- Explicitly map each uncovered area to one or more proposed tests
Specify Tests Without Implementation
- Define test classes and test method names
- For each proposed test:
- Describe the input data
- Describe the expected output or observable behavior
- Do not write executable test code at this stage
Implement After Approval
- Wait for user confirmation or feedback on the testing plan
- After approval:
- Implement the tests according to the approved plan
- Re-run coverage and verify that coverage for the target function is near 100 percent
- Report final coverage results and remaining gaps, if any
Important Rules
- Do not implement tests before the plan is approved
- Do not proceed if instructions or requirements are ambiguous
- Always adhere to the formatting and style guides referenced above
- Focus on meaningful behavior and correctness rather than superficial coverage
- All tests and code must strictly follow:
.claude/skills/coding.rules.mdfor any Python code.claude/skills/testing.rules.mdfor tests
- If any part of the task is unclear or underspecified, stop and ask for clarification before proceeding
Verification
- [ ] Confirm coverage for the target function or file is near 100 percent
- [ ] Confirm every proposed test was implemented and passes
- [ ] Confirm no uncovered critical branch remains unexplained
04 同仓库更多 Skills
tutorial_in_60_mins.propagate_docker_changes
Sync tutorial and class-project Docker files to match project_template
tutorial_in_60_mins.merge_markdown
Merge the content of a markdown file into a Jupyter notebook
tutorial_in_60_mins.format
Format a directory to follow the "Learn X in 60 Minutes" tutorial conventions
tutorial_in_60_mins.create
Create a tutorial directory for the Learn X in 60 Minutes conventions
todo.reorg_in_progress
Reorganize ai_task_queue.md so in-progress tasks, not-started tasks, and mislabeled topic headers sit under the right H1 stage
todo.reorg_headers
Reorganize ai_task_queue.md .md so every H2 topic matches ALL TOPICS and every H3 task sits under the right topic, keeping its H1 stage