← SkillSafe / Kotlin Test Clinic

Your Kotlin tests, reviewed against the code they claim to protect

Paste your Kotlin source files, the tests that cover them — Kotest, JUnit or both — and build.gradle.kts if you have it. You get a verdict, a check-by-check table, the findings that matter with a corrected fragment each, a ready-to-paste suggested spec, and the Gradle commands to prove the fix worked.

Both examples ship with a saved model run, so you can see the whole review — including the suggested spec — without signing in and without spending a credit.

nothing pasted yet
Drag files in, or or pick a folder Everything is read in your browser. Nothing uploads until you run. Re-drop an edited file and it replaces the old copy. Cmd/Ctrl+Enter runs the review.
Paste some Kotlin to price the run.

What this does, and what it does not

The prescan is real parsing, not a keyword search. Test bodies are extracted by brace matching — with strings and comments skipped — so a test that asserts nothing is found by reading its actual body, not by keyword proximity; mock declarations are read argument by argument, so relaxed = true on a logger and on a payment service are counted the same way but judged differently by the review; and suspend functions declared in your source are matched against every every { } block, so a stub that needed coEvery is caught mechanically. A delay(…) inside runTest runs on virtual time and is correctly left alone, while Thread.sleep in the same file is flagged. Everything the prescan finds is handed to the model as facts it must reconcile, and the review is checked against them afterwards — if the model skips a flag, this page says so.

It reads; it does not compile or run anything, and it never reaches your repository. This is a review of the text you pasted, not a substitute for ./gradlew test — which is the command every review here ends with. The suggested spec is checked in your browser for identifiers that never appear in your paste, so an invented class name is called out before you try to compile it.

Nothing to hand? Load the , a coroutine-heavy suite with sleeps, relaxed mocks and a disabled test, or the , which is mostly right and wants confirmation plus a property-testing nudge. Both replay a saved run for free.