Skip to content

TestBalloon logoTestBalloon logo🔗

TestBalloon is a DSL-based Kotlin-first test framework. Powered by a compiler plugin, TestBalloon lets you configure tests with plain Kotlin instead of restrictive, annotation-based magic. TestBalloon's concise API is extremely flexible and easy to customize for any test setup.

TestBalloon is compatible with existing assertion libraries and Kotlin Power Assert. It supports all Kotlin target platforms in first-party quality (including Android device tests and Robolectric). TestBalloon has full coroutine support built in and can run your tests with the highest degree of parallelism available.

Characteristics🔗

  • State-of-the-art capabilities: Parameterized tests, multi-level hierarchy, coroutines, coroutine context inheritance, deep parallelism, fixtures, expressive names, scope-friendly DSL, decorator chains for configuration.
  • Deep native integration with the platforms' existing APIs and build tooling, using the familiar Gradle tasks and Kotlin's own platform-specific test runtimes.
  • Support for all Kotlin target platforms: JVM, JS(1), WebAssembly(2), Native(3), Android host-side tests, Android device-side tests, Robolectric.
  1. JavaScript support includes JS/Node and JS/browser.
  2. WebAssembly support includes Wasm/JS and Wasm/WASI.
  3. Native support includes Linux, Windows, iOS, macOS and other Apple targets.

TestBalloon example test run – Kotlin Multiplatform TestBalloon example test run – Kotlin Multiplatform

TestBalloon example test run – Android Device TestBalloon example test run – Android Device

TestBalloon example test run – Android Host TestBalloon example test run – Android Host

To find out more about why to use TestBalloon, look here.

Documentation Overview🔗

This documentation is organized as follows:

  • Getting started introduces TestBalloon's capabilities one by one.
  • The How-to guide contains guidance about effective testing and migrating to TestBalloon.
  • The API Reference provides comprehensive documentation for TestBalloon's public API.

In addition, there are Support touchpoints and a Blog covering TestBalloon developments.