Add an architecture.android.unit.test convention plugin that runs local unit tests on the JUnit5 platform via useJUnitPlatform() (AndroidUnitTest extends Gradle's Test) + the unit-test bundle. Deliberately NOT using the de.mannodermaus plugin (targets AGP 8.x; we're on AGP 9). Add junit-platform-launcher (Gradle 9 dropped the bundled launcher); set the instrumentation runner; add a compose-ui-test bundle pinning espresso/runner to current versions (transitive espresso 3.5.0 calls the removed InputManager.getInstance() on API 34+). CI now runs ./gradlew test and compiles the instrumented tests. Drop unused testing catalog entries.
22 lines
845 B
Kotlin
22 lines
845 B
Kotlin
plugins {
|
|
alias(libs.plugins.architecture.android.feature)
|
|
// For @Serializable type-safe navigation routes.
|
|
alias(libs.plugins.architecture.kotlinx.serialization)
|
|
}
|
|
|
|
android {
|
|
namespace = "com.example.architecture.feature.characters.presentation.compose"
|
|
}
|
|
|
|
dependencies {
|
|
implementation(project(":core:presentation"))
|
|
implementation(project(":core:design-system"))
|
|
implementation(project(":feature:characters:domain"))
|
|
implementation(project(":feature:characters:presentation"))
|
|
|
|
// Instrumented Compose UI test (robot pattern). The Compose convention already adds the BOM to
|
|
// androidTestImplementation; ui-test-manifest provides the empty Activity ComposeTestRule hosts in.
|
|
androidTestImplementation(libs.bundles.compose.ui.test)
|
|
debugImplementation(libs.androidx.compose.ui.test.manifest)
|
|
}
|