[#21] Enable test orchestrator
This commit is contained in:
parent
361c6a2eee
commit
96b1e1913b
|
@ -68,11 +68,6 @@ android {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO [#5]: Figure out how to move this into the build-conventions
|
|
||||||
testCoverage {
|
|
||||||
jacocoVersion = libs.versions.jacoco.get()
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO [#6]: Figure out how to move this into the build-conventions
|
// TODO [#6]: Figure out how to move this into the build-conventions
|
||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
jvmTarget = libs.versions.java.get()
|
jvmTarget = libs.versions.java.get()
|
||||||
|
@ -93,4 +88,12 @@ dependencies {
|
||||||
implementation(projects.uiLib)
|
implementation(projects.uiLib)
|
||||||
|
|
||||||
androidTestImplementation(libs.bundles.androidx.test)
|
androidTestImplementation(libs.bundles.androidx.test)
|
||||||
|
|
||||||
|
if (project.property("IS_USE_TEST_ORCHESTRATOR").toString().toBoolean()) {
|
||||||
|
androidTestUtil(libs.androidx.test.orchestrator) {
|
||||||
|
artifact {
|
||||||
|
type = "apk"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
// Note: due to a few limitations with build-conventions, there is some common Android Gradle Plugin
|
||||||
|
// configuration happening in the root build.gradle.kts with a subprojects block.
|
||||||
|
|
||||||
pluginManager.withPlugin("com.android.application") {
|
pluginManager.withPlugin("com.android.application") {
|
||||||
project.the<com.android.build.gradle.AppExtension>().apply {
|
project.the<com.android.build.gradle.AppExtension>().apply {
|
||||||
configureBaseExtension()
|
configureBaseExtension()
|
||||||
|
|
|
@ -56,3 +56,35 @@ fun isNonStable(version: String): Boolean {
|
||||||
|
|
||||||
return unstableKeywords.any { versionLowerCase.contains(it) }
|
return unstableKeywords.any { versionLowerCase.contains(it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// All of this should be refactored to build-conventions
|
||||||
|
subprojects {
|
||||||
|
pluginManager.withPlugin("com.android.library") {
|
||||||
|
project.the<com.android.build.gradle.LibraryExtension>().apply {
|
||||||
|
configureBaseExtension()
|
||||||
|
|
||||||
|
// TODO [#5]: Figure out how to move this into the build-conventions
|
||||||
|
testCoverage {
|
||||||
|
jacocoVersion = libs.versions.jacoco.get()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pluginManager.withPlugin("com.android.application") {
|
||||||
|
project.the<com.android.build.gradle.AppExtension>().apply {
|
||||||
|
configureBaseExtension()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun com.android.build.gradle.BaseExtension.configureBaseExtension() {
|
||||||
|
// TODO [#22]: Figure out how to move this into build-conventions
|
||||||
|
testOptions {
|
||||||
|
animationsDisabled = true
|
||||||
|
|
||||||
|
if (project.property("IS_USE_TEST_ORCHESTRATOR").toString().toBoolean()) {
|
||||||
|
execution = "ANDROIDX_TEST_ORCHESTRATOR"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -20,7 +20,7 @@ IS_COVERAGE_ENABLED=true
|
||||||
|
|
||||||
# Optionally configure test orchestrator.
|
# Optionally configure test orchestrator.
|
||||||
# It is disabled by default, because it causes tests to take about 2x longer to run.
|
# It is disabled by default, because it causes tests to take about 2x longer to run.
|
||||||
IS_USE_TEST_ORCHESTRATOR=false
|
IS_USE_TEST_ORCHESTRATOR=true
|
||||||
|
|
||||||
# Optionally disable minification
|
# Optionally disable minification
|
||||||
IS_MINIFY_ENABLED=true
|
IS_MINIFY_ENABLED=true
|
||||||
|
@ -56,8 +56,9 @@ ANDROIDX_CORE_VERSION=1.6.0
|
||||||
ANDROIDX_ESPRESSO_VERSION=3.4.0
|
ANDROIDX_ESPRESSO_VERSION=3.4.0
|
||||||
ANDROIDX_LIFECYCLE_VERSION=2.3.1
|
ANDROIDX_LIFECYCLE_VERSION=2.3.1
|
||||||
ANDROIDX_NAVIGATION_VERSION=2.3.5
|
ANDROIDX_NAVIGATION_VERSION=2.3.5
|
||||||
|
ANDROIDX_TEST_VERSION=1.4.1-alpha03
|
||||||
ANDROIDX_TEST_JUNIT_VERSION=1.1.3
|
ANDROIDX_TEST_JUNIT_VERSION=1.1.3
|
||||||
ANDROIDX_TEST_ORCHESTRATOR_VERSION=1.1.0-alpha1
|
ANDROIDX_TEST_ORCHESTRATOR_VERSION=1.4.1-alpha03
|
||||||
ANDROIDX_UI_AUTOMATOR_VERSION=2.2.0-alpha1
|
ANDROIDX_UI_AUTOMATOR_VERSION=2.2.0-alpha1
|
||||||
GOOGLE_MATERIAL_VERSION=1.4.0
|
GOOGLE_MATERIAL_VERSION=1.4.0
|
||||||
JACOCO_VERSION=0.8.7
|
JACOCO_VERSION=0.8.7
|
||||||
|
|
|
@ -37,7 +37,8 @@ dependencyResolutionManagement {
|
||||||
val androidxEspressoVersion = extra["ANDROIDX_ESPRESSO_VERSION"].toString()
|
val androidxEspressoVersion = extra["ANDROIDX_ESPRESSO_VERSION"].toString()
|
||||||
val androidxLifecycleVersion = extra["ANDROIDX_LIFECYCLE_VERSION"].toString()
|
val androidxLifecycleVersion = extra["ANDROIDX_LIFECYCLE_VERSION"].toString()
|
||||||
val androidxTestJunitVersion = extra["ANDROIDX_TEST_JUNIT_VERSION"].toString()
|
val androidxTestJunitVersion = extra["ANDROIDX_TEST_JUNIT_VERSION"].toString()
|
||||||
val androidxTestOrchestratorVersion = extra["ANDROIDX_ESPRESSO_VERSION"].toString()
|
val androidxTestOrchestratorVersion = extra["ANDROIDX_TEST_ORCHESTRATOR_VERSION"].toString()
|
||||||
|
val androidxTestVersion = extra["ANDROIDX_TEST_VERSION"].toString()
|
||||||
val androidxUiAutomatorVersion = extra["ANDROIDX_UI_AUTOMATOR_VERSION"].toString()
|
val androidxUiAutomatorVersion = extra["ANDROIDX_UI_AUTOMATOR_VERSION"].toString()
|
||||||
val googleMaterialVersion = extra["GOOGLE_MATERIAL_VERSION"].toString()
|
val googleMaterialVersion = extra["GOOGLE_MATERIAL_VERSION"].toString()
|
||||||
val jacocoVersion = extra["JACOCO_VERSION"].toString()
|
val jacocoVersion = extra["JACOCO_VERSION"].toString()
|
||||||
|
@ -76,8 +77,10 @@ dependencyResolutionManagement {
|
||||||
//alias("androidx-espresso-contrib").to("androidx.test.espresso:espresso-contrib:$androidxEspressoVersion")
|
//alias("androidx-espresso-contrib").to("androidx.test.espresso:espresso-contrib:$androidxEspressoVersion")
|
||||||
alias("androidx-espresso-core").to("androidx.test.espresso:espresso-core:$androidxEspressoVersion")
|
alias("androidx-espresso-core").to("androidx.test.espresso:espresso-core:$androidxEspressoVersion")
|
||||||
alias("androidx-espresso-intents").to("androidx.test.espresso:espresso-intents:$androidxEspressoVersion")
|
alias("androidx-espresso-intents").to("androidx.test.espresso:espresso-intents:$androidxEspressoVersion")
|
||||||
alias("androidx-junit").to("androidx.test.ext:junit:$androidxTestJunitVersion")
|
alias("androidx-test-core").to("androidx.test:core:$androidxTestVersion")
|
||||||
alias("androidx-testOrchestrator").to("androidx.test:orchestrator:$androidxTestOrchestratorVersion")
|
alias("androidx-test-junit").to("androidx.test.ext:junit:$androidxTestJunitVersion")
|
||||||
|
alias("androidx-test-orchestrator").to("androidx.test:orchestrator:$androidxTestOrchestratorVersion")
|
||||||
|
alias("androidx-test-runner").to("androidx.test:runner:$androidxTestVersion")
|
||||||
alias("androidx-uiAutomator").to("androidx.test.uiautomator:uiautomator-v18:$androidxUiAutomatorVersion")
|
alias("androidx-uiAutomator").to("androidx.test.uiautomator:uiautomator-v18:$androidxUiAutomatorVersion")
|
||||||
alias("kotlinx-coroutines-test").to("org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinxCoroutinesVersion")
|
alias("kotlinx-coroutines-test").to("org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinxCoroutinesVersion")
|
||||||
|
|
||||||
|
@ -99,7 +102,9 @@ dependencyResolutionManagement {
|
||||||
listOf(
|
listOf(
|
||||||
"androidx-espresso-core",
|
"androidx-espresso-core",
|
||||||
"androidx-espresso-intents",
|
"androidx-espresso-intents",
|
||||||
"androidx-junit"
|
"androidx-test-core",
|
||||||
|
"androidx-test-junit",
|
||||||
|
"androidx-test-runner"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,6 @@ plugins {
|
||||||
id("zcash.android-build-conventions")
|
id("zcash.android-build-conventions")
|
||||||
}
|
}
|
||||||
|
|
||||||
val packageName = "cash.z.ecc.ui"
|
|
||||||
|
|
||||||
android {
|
android {
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
viewBinding = true
|
viewBinding = true
|
||||||
|
@ -18,11 +16,6 @@ android {
|
||||||
kotlinCompilerExtensionVersion = libs.versions.compose.get()
|
kotlinCompilerExtensionVersion = libs.versions.compose.get()
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO [#5]: Figure out how to move this into the build-conventions
|
|
||||||
testCoverage {
|
|
||||||
jacocoVersion = libs.versions.jacoco.get()
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO [#6]: Figure out how to move this into the build-conventions
|
// TODO [#6]: Figure out how to move this into the build-conventions
|
||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
jvmTarget = libs.versions.java.get()
|
jvmTarget = libs.versions.java.get()
|
||||||
|
@ -45,4 +38,12 @@ dependencies {
|
||||||
androidTestImplementation(libs.bundles.androidx.test)
|
androidTestImplementation(libs.bundles.androidx.test)
|
||||||
androidTestImplementation(libs.androidx.compose.test.junit)
|
androidTestImplementation(libs.androidx.compose.test.junit)
|
||||||
androidTestImplementation(libs.androidx.compose.test.manifest)
|
androidTestImplementation(libs.androidx.compose.test.manifest)
|
||||||
|
|
||||||
|
if (project.property("IS_USE_TEST_ORCHESTRATOR").toString().toBoolean()) {
|
||||||
|
androidTestUtil(libs.androidx.test.orchestrator) {
|
||||||
|
artifact {
|
||||||
|
type = "apk"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ import androidx.compose.ui.test.junit4.createComposeRule
|
||||||
import androidx.compose.ui.test.onNodeWithText
|
import androidx.compose.ui.test.onNodeWithText
|
||||||
import androidx.compose.ui.test.performClick
|
import androidx.compose.ui.test.performClick
|
||||||
import androidx.test.filters.MediumTest
|
import androidx.test.filters.MediumTest
|
||||||
import cash.z.ecc.R
|
import cash.z.ecc.ui.R
|
||||||
import cash.z.ecc.ui.screen.onboarding.model.OnboardingStage
|
import cash.z.ecc.ui.screen.onboarding.model.OnboardingStage
|
||||||
import cash.z.ecc.ui.screen.onboarding.state.OnboardingState
|
import cash.z.ecc.ui.screen.onboarding.state.OnboardingState
|
||||||
import cash.z.ecc.ui.screen.onboarding.test.getStringResource
|
import cash.z.ecc.ui.screen.onboarding.test.getStringResource
|
||||||
|
|
|
@ -18,7 +18,7 @@ import androidx.compose.ui.graphics.painter.ColorPainter
|
||||||
import androidx.compose.ui.graphics.painter.Painter
|
import androidx.compose.ui.graphics.painter.Painter
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import cash.z.ecc.R
|
import cash.z.ecc.ui.R
|
||||||
import cash.z.ecc.ui.screen.onboarding.model.OnboardingStage
|
import cash.z.ecc.ui.screen.onboarding.model.OnboardingStage
|
||||||
import cash.z.ecc.ui.screen.onboarding.model.Progress
|
import cash.z.ecc.ui.screen.onboarding.model.Progress
|
||||||
import cash.z.ecc.ui.screen.onboarding.state.OnboardingState
|
import cash.z.ecc.ui.screen.onboarding.state.OnboardingState
|
||||||
|
|
Loading…
Reference in New Issue