create-unit-testlisted
Install: claude install-skill aiskillstore/marketplace
# Create Unit Test
This skill guides the creation of unit tests to ensuring consistency and correctness.
## Workflow
1. **Analyze and Plan**:
* **Goal**: Understand what needs testing.
* **Action**: Examine the source code.
* **Action**: Identify "happy path" cases (core functionality).
* **Action**: Identify "error cases" and "edge cases" based on likelihood.
* **Action**: Do **not** suggest implementation details unless asked; focus on behavior.
2. **Setup Test File**:
* **Naming**: `[OriginalClassName]Test.kt`.
* **Location**: `[module]/src/test/java/[package/path]/`.
* **Runner**: If testing Android components, you **MUST** use Robolectric.
* **Mocking**: Prefer creating **Fakes** over Mocks or patches. Use Mocks only if Fakes are too complex.
3. **Implement Tests**:
* Write clear, descriptive test methods.
* Follow the "Arrange-Act-Assert" pattern.
* Ensure all resources (strings, themes) are properly mocked or provided via Robolectric.
4. **Run Tests**:
* **Command**: `./gradlew :[module]:testDebugUnitTest`
* **Example**: `./gradlew :database:testDebugUnitTest`
* **Tip**: Before any commit, run `./gradlew testDebugUnitTest` to ensure everything passes.
5. **Handle Failures**:
* **Goal**: Diagnose and fix issues.
* **Action**: If a test fails, locate the full error report.
* **Path**: `[module]/build/test-results/testDebugUnitTest/TEST-[package.name.Tes