Files
Meshtastic-Android/docs/decisions/testing-consolidation-2026-03.md

1.8 KiB

Decision: Testing Consolidation — core:testing Module

Date: 2026-03-11 Status: Implemented

Context

Each KMP module independently declared scattered test dependencies (junit, mockk, coroutines-test, turbine), leading to version drift and duplicated test doubles across modules.

Decision

Created core:testing as a lightweight shared module for test doubles, fakes, and utilities. It depends only on core:model and core:repository (no heavy deps like core:database). All modules declare implementation(projects.core.testing) in commonTest to get a unified test dependency set.

Consequences

  • Single source for test fakes (FakeRadioController, FakeNodeRepository, TestDataFactory)
  • Clean dependency graphcore:testing is lightweight; heavy modules depend on it in test scope, not vice versa
  • No production leakage — only declared in commonTest, never in release artifacts
  • Reduced maintenance — updating test libraries touches one build.gradle.kts

See core/testing/README.md for usage guide and API reference.