generate-tests
Generate unit and UI tests for specified code with edge cases and mocks
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Generate Tests
Generate unit and UI tests for specified code with edge cases and mocks.
Input Required
Specify what to test:
- File path or function/type name
- Type of tests needed: Unit / Integration / UI
- Any specific scenarios to cover
Test Generation Process
Step 1: Analyze Target Code
-
Read the code to understand:
- Public API surface
- Dependencies (what needs mocking)
- Side effects (network, persistence, notifications)
- Edge cases and error conditions
-
Identify testable behaviors:
- Happy path scenarios
- Error/failure scenarios
- Boundary conditions
- State transitions
Step 2: Test Plan
| Scenario | Input | Expected Output | Type |
|---|---|---|---|
| Unit/Integration/UI |
Step 3: Dependencies & Mocks
Dependencies to mock:
| Dependency | Mock Strategy |
|---|---|
| Network service | Protocol + mock implementation |
| Database | In-memory container |
| UserDefaults | Dedicated test suite |
| Date/Time | Inject fixed dates |
Step 4: Generate Tests
Use Swift Testing framework (import Testing) for new tests:
import Testing
@testable import Stuffolio
struct [Target]Tests {
@Test func [scenario]_[condition]_[expectedResult]() async throws {
// Given
// When
// Then
}
}
Step 5: Test Naming Convention
Follow: [method]_[scenario]_[expectedBehavior]
Examples:
-
fetchItems_whenNetworkAvailable_returnsItems -
saveItem_withEmptyTitle_throwsValidationError
Step 6: Coverage Checklist
- All public methods
- All code branches (if/else, switch cases)
- Error throwing paths
- Boundary values (empty, nil, max, min)
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-03-11
- Index updated
- 2026-03-11
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!