{"repo":"Trendyol/stove","free":true,"listed":false,"github":"https://github.com/Trendyol/stove","clone":"git clone https://github.com/Trendyol/stove.git","description":"Stove: The easiest way of writing e2e/component tests for your JVM back-end app with Kotlin","language":"Kotlin","stars":309,"topics":["e2e-testing","kotlin","spring-boot","ktor","testing-framework","testing","integration-testing","test","testing-tools","test-automation"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"Stove Kotlin-first end-to-end testing for JVM and polyglot applications. Boot the application under test, wire real dependencies, and assert the full runtime flow from one DSL. Why Stove? The JVM ecosystem has mature frameworks for building applications, but end-to-end test setup is still fragmented. Testcontainers can start infrastructure, but most teams still write their own lifecycle code for container startup, runtime configuration, application boot, cleanup, and assertions. That boilerplate usually looks different for every framework. Stove puts those pieces behind one lifecycle. You register the systems your app talks to, then register one AUT runner. Stove starts or connects to the systems, exposes their runtime configuration to framework/process/container AUT runners, boots or targets the application under test (AUT), and gives your tests a single Kotlin DSL for driving and verifying the flow. A system is a Stove dependency, client, mock, or observability module such as HTTP, PostgreSQL, Kafka, WireMock, tracing, or dashboard. An AUT runner registers how Stove starts or targets the app. Stove works with Java, Kotlin, and Scala applications across Spring Boot, Ktor, Micronaut, and Quarkus. The same test DSL also supports non-JVM applications through process/container runners, or targets already-running applications with providedApplication() . Because assertions are system-oriented rather than framework-specific, teams can verify HTTP APIs, async message flows, databas","default_branch":null,"files":null,"tree":[],"storefront":"/r/Trendyol","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Trendyol/stove/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}