Create unit test
Create and run unit tests following the project's architecture and guidelines (Robolectric, naming, location).From its SKILL.md
npx -y skills add bg-szy/TOP-SKILLS --skill create-unit-testAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.0 KB, 465 tokens by cl100k_base, as published. Nobody here has run it
Create Unit Test
This skill guides the creation of unit tests to ensuring consistency and correctness.
Workflow
-
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.
-
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.
- Naming:
-
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.
-
Run Tests:
- Command:
./gradlew :[module]:testDebugUnitTest - Example:
./gradlew :database:testDebugUnitTest - Tip: Before any commit, run
./gradlew testDebugUnitTestto ensure everything passes.
- Command:
-
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.TestClassName].xml. - Example:
app/build/test-results/testDebugUnitTest/TEST-com.anysoftkeyboard.janus.app.MainActivityTest.xml.
Guidelines
- Consistency: Always place tests in the
testsource set, notandroidTest(unless specifically writing instrumentation tests, which is rare for this skill). - Reliability: Avoid flaky tests. Ensure deterministic behavior.
What ships with it: 1 file
16.9 KB alongside SKILL.md
- skill-report.json16.9 KB