test: add Compose screenshot baseline

This commit is contained in:
2026-08-26 07:10:34 +08:00
parent 94e3e394af
commit b39b3f95c7
9 changed files with 39 additions and 1 deletions
+4
View File
@@ -6,12 +6,15 @@ plugins {
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.kotlin.kapt)
alias(libs.plugins.hilt.android)
alias(libs.plugins.compose.screenshot)
}
android {
namespace = "com.flagship.abox.manager"
compileSdk = 37
experimentalProperties["android.experimental.enableScreenshotTest"] = true
defaultConfig {
applicationId = "com.flagship.abox.manager"
minSdk = 26
@@ -94,4 +97,5 @@ dependencies {
androidTestImplementation(libs.compose.ui.test.junit4)
debugImplementation(libs.compose.ui.tooling)
debugImplementation(libs.compose.ui.test.manifest)
screenshotTestImplementation(libs.compose.screenshot.test)
}
@@ -0,0 +1,14 @@
package com.flagship.abox.manager.ui
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import com.android.tools.screenshot.PreviewTest
import com.flagship.abox.manager.designsystem.ABoxTheme
@PreviewTest
@Preview
@Composable
fun AppSmokePreview() {
ABoxTheme(darkTheme = false) { Text("ABox Manager") }
}
@@ -4,12 +4,15 @@ plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.compose.screenshot)
}
android {
namespace = "com.flagship.abox.manager.designsystem"
compileSdk = 37
experimentalProperties["android.experimental.enableScreenshotTest"] = true
defaultConfig {
minSdk = 26
}
@@ -35,4 +38,5 @@ dependencies {
implementation(libs.compose.material3)
implementation(libs.compose.material.icons.extended)
debugImplementation(libs.compose.ui.tooling)
screenshotTestImplementation(libs.compose.screenshot.test)
}
@@ -0,0 +1,13 @@
package com.flagship.abox.manager.designsystem
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import com.android.tools.screenshot.PreviewTest
@PreviewTest
@Preview
@Composable
fun DesignSystemSmokePreview() {
ABoxTheme(darkTheme = false) { Text("截图基线") }
}
+1
View File
@@ -6,4 +6,5 @@ plugins {
alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.kotlin.kapt) apply false
alias(libs.plugins.hilt.android) apply false
alias(libs.plugins.compose.screenshot) apply false
}
+2 -1
View File
@@ -1,4 +1,5 @@
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
android.experimental.enableScreenshotTest=true
org.gradle.configuration-cache=false
android.useAndroidX=true
android.nonTransitiveRClass=true
+1
View File
@@ -39,6 +39,7 @@ compose-material3 = { module = "androidx.compose.material3:material3" }
compose-material-icons-extended = { module = "androidx.compose.material:material-icons-extended" }
compose-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4" }
compose-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest" }
compose-screenshot-test = { module = "com.android.tools.screenshot:screenshot-validation-api", version.ref = "composeScreenshot" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" }
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }