@@ -4,7 +4,7 @@ plugins {
44 alias(libs.plugins.kotlin.parcelize)
55 alias(libs.plugins.ksp)
66 alias(libs.plugins.hilt)
7- id( " shot " )
7+ alias(libs.plugins.roborazzi )
88 alias(libs.plugins.kotlin.serialization)
99}
1010
@@ -16,7 +16,7 @@ android {
1616 testOptions.targetSdk = libs.versions.android.targetSdk.get().toInt()
1717
1818 testApplicationId = " com.rumosoft.marvelcomposetest"
19- testInstrumentationRunner = " com.karumi.shot.ShotTestRunner "
19+ testInstrumentationRunner = " androidx.test.runner.AndroidJUnitRunner "
2020 consumerProguardFiles(" consumer-rules.pro" )
2121 }
2222
@@ -40,6 +40,9 @@ android {
4040 unitTests {
4141 isReturnDefaultValues = true
4242 isIncludeAndroidResources = true
43+ all {
44+ it.systemProperties[" robolectric.pixelCopyRenderMode" ] = " hardware"
45+ }
4346 }
4447 }
4548 namespace = " com.rumosoft.characters"
@@ -84,6 +87,15 @@ dependencies {
8487 testImplementation(libs.junitparams)
8588 testImplementation(libs.junit.platform.launcher)
8689 testImplementation(libs.junit.platform.engine)
90+ testImplementation(libs.roborazzi)
91+ testImplementation(libs.roborazzi.compose)
92+ testImplementation(libs.roborazzi.rule)
93+ testImplementation(libs.robolectric)
94+ testImplementation(libs.ui.test.junit4)
95+ testImplementation(libs.androidx.test.ext.junit)
96+
97+ // JUnit Vintage Engine to run JUnit 4 tests on JUnit 5 platform
98+ testImplementation(libs.junit.vintage.engine)
8799
88100 androidTestImplementation(platform(libs.compose.bom))
89101 androidTestImplementation(libs.androidx.test.core)
@@ -97,11 +109,10 @@ dependencies {
97109 debugImplementation(libs.ui.test.manifest)
98110}
99111
100- shot {
101- applicationId = " com.rumosoft.marvelcomposeshot "
112+ tasks.withType< Test >().configureEach {
113+ useJUnitPlatform()
102114}
103115
104- // Ensure JUnit Jupiter tests are run
105- tasks.withType<Test > {
106- useJUnitPlatform()
116+ roborazzi {
117+ outputDir.set(file(" screenshots" ))
107118}
0 commit comments