Posted on

dejavu

A lightweight framework for tracking and asserting against Jetpack Compose recompositions.

https://dejavu.mmckenna.me

https://github.com/himattm/dejavu

Dejavu is a test-only library that turns recomposition behavior into assertions. Tag your composables with standard Modifier.testTag(), write expectations against recomposition counts, and get structured diagnostics when something changes — whether from a teammate, a library upgrade, an AI agent rewriting your UI code, or a refactor that silently destabilizes a lambda.

  • Zero production code changes — just Modifier.testTag()
  • One-line test setup — createRecompositionTrackingRule()
  • Rich diagnostics — source location, recomposition timeline, parameter diffs, causality analysis
  • Per-instance tracking — multiple instances of the same composable get independent counters

Posted on

JUnit 6

https://docs.junit.org/6.0.0/release-notes/#release-notes-6.0.0

Date of Release: September 30, 2025

Scope:

  • Java 17 and Kotlin 2.2 baseline
  • Single version number for Platform, Jupiter, and Vintage
  • Use of JSpecify annotations to express nullability
  • Integration of JFR functionality in junit-platform-launcher
  • Removal of junit-platform-runner and junit-platform-jfr
  • Deterministic order of @Nested classes
  • MethodOrderer.Default and ClassOrderer.Default for @Nested classes
  • Inheritance of @TestMethodOrder by enclosed @Nested classes
  • Switch to FastCSV library for @CsvSource and @CsvFileSource
  • Support for using Kotlin suspend functions as test methods
  • New --fail-fast mode for ConsoleLauncher
  • Support for cancelling test execution via CancellationToken
  • Removal of various deprecated behaviors and APIs

Posted on

kotlinx.fuzz

kotlinx.fuzz is a general purpose fuzzing library for Kotlin. The library provides basic functionality:

  • Simple API for writing fuzz tests
  • Gradle plugin that provides an easy way of configuring the fuzzer, running it, and generating reports
  • Custom JUnit engine that handles interactions with the fuzzing engine and allows for easy integration with IDE
  • Integration with Jazzer as the main fuzzing engine for now

https://github.com/JetBrains-Research/kotlinx.fuzz

GitHub – JetBrains-Research/kotlinx.fuzz: Fuzzer для библиотек Kotlin

  • GitHub-JetBrains-Research/kotlinx.fuzz – библиотека фаззинга для Kotlin
  • Библиотека предоставляет простой API для написания fuzz-тестов и плагин Gradle для настройки и запуска fuzzer
  • Библиотека использует Jazzer в качестве основного движка фаззинга
  • Цель библиотеки – преодолеть пробел в использовании фаззинга при разработке Kotlin
  • В настоящее время библиотека работает только для JVM и требует JDK 8 и Kotlin версии 2.0.21
  • Библиотека поддерживает два режима работы: размытие и регрессия
  • Плагин поддерживает пользовательские хуки Jazzer для имитации методов и добавления утверждений
  • Отличия от Jazzer: улучшенный и упрощенный API, плагин Gradle, улучшенный алгоритм дедупликации, новый подход к созданию репродукторов, улучшенный режим регрессии

Posted on

Power-assert compiler plugin

https://kotlinlang.org/docs/power-assert.html

The Kotlin Power-assert compiler plugin improves the debugging experience by providing detailed failure messages with contextual information. It simplifies the process of writing tests by automatically generating intermediate values in failure messages. It helps you understand why a test failed without needing complex assertion libraries.