Use when kotlin testing patterns with Kotest, MockK, coroutine testing, property-based testing, and Kover coverage. Follows TDD methodology with idiomatic Kotlin practices. Only for Kotlin — not for other languages. Triggers on \"kotlin-testing\", \"kotlin testing\", \"testing\".
Scanned 9/19/2026
Install to Claude Code
npx -y skills add majinmagros/magros.ai-skills --skill kotlin-testing --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Kotlin Testing?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majinmagros-kotlin-testing)More formats (shields.io, HTML) on the badges page.
---
name: kotlin-testing
description: "Use when kotlin testing patterns with Kotest, MockK, coroutine testing, property-based testing, and Kover coverage. Follows TDD methodology with idiomatic Kotlin practices. Only for Kotlin — not for other languages. Triggers on \"kotlin-testing\", \"kotlin testing\", \"testing\"."
metadata:
origin: ECC
---
# Kotlin Testing Patterns
Comprehensive Kotlin testing patterns for writing reliable, maintainable tests following TDD methodology with Kotest and MockK.
## When to Use
- Writing new Kotlin functions or classes
- Adding test coverage to existing Kotlin code
- Implementing property-based tests
- Following TDD workflow in Kotlin projects
- Configuring Kover for code coverage
## When NOT to Use
- Other languages (use `golang-testing`, `python-testing`, etc.)
- Kotlin idioms in general (use `kotlin-patterns`)
- Ktor/Exposed specifics (use `kotlin-ktor-patterns`, `kotlin-exposed-patterns`)
## How It Works
1. **Identify target code** — Find the function, class, or module to test
2. **Write a Kotest spec** — Choose a spec style (StringSpec, FunSpec, BehaviorSpec) matching the test scope
3. **Mock dependencies** — Use MockK to isolate the unit under test
4. **Run tests (RED)** — Verify the test fails with the expected error
5. **Implement code (GREEN)** — Write minimal code to pass the test
6. **Refactor** — Improve the implementation while keeping tests green
7. **Check coverage** — Run `./gradlew koverHtmlReport` and verify 80%+ coverage
## Contents
| Topic | Reference |
|---|---|
| TDD cycle, Kotest spec styles | `references/tdd-kotest-specs.md` |
| Matchers, MockK | `references/matchers-mockk.md` |
| Coroutine testing (runTest, Flow) | `references/coroutines.md` |
| Property-based, data-driven | `references/property-datadriven.md` |
| Lifecycle, fixtures, Kover | `references/lifecycle-kover.md` |
| Ktor testApplication | `references/ktor.md` |
## Testing Commands
```bash
# Run all tests
./gradlew test
# Run specific test class
./gradlew test --tests "com.example.UserServiceTest"
# Run specific test
./gradlew test --tests "com.example.UserServiceTest.getUser returns user when found"
# Run with verbose output
./gradlew test --info
# Run with coverage
./gradlew koverHtmlReport
# Run detekt (static analysis)Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!