Skip to content

Commit 3a02b35

Browse files
committed
Add Roborazzi tests
1 parent 5c12252 commit 3a02b35

File tree

4 files changed

+43
-0
lines changed

4 files changed

+43
-0
lines changed

app/build.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
plugins {
33
alias(libs.plugins.com.android.application)
44
alias(libs.plugins.org.jetbrains.kotlin.android)
5+
alias(libs.plugins.roborazzi)
56
}
67

78
android {
@@ -68,6 +69,9 @@ dependencies {
6869

6970
testImplementation(libs.junit)
7071
testImplementation(libs.robolectric)
72+
testImplementation(libs.roborazzi)
73+
testImplementation(libs.roborazzi.compose)
74+
testImplementation(libs.roborazzi.rule)
7175
testImplementation(libs.espresso.core)
7276

7377
testImplementation(libs.ui.test.junit4)

app/src/test/java/com/github/takahirom/roborazzi/usage/examples/FirstRobolectricComposeTest.kt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,16 @@ package com.github.takahirom.roborazzi.usage.examples
22

33
import androidx.compose.ui.test.hasText
44
import androidx.compose.ui.test.junit4.createComposeRule
5+
import androidx.compose.ui.test.onRoot
6+
import com.github.takahirom.roborazzi.captureRoboImage
57
import org.junit.Assert.*
68
import org.junit.Rule
79
import org.junit.Test
810
import org.junit.runner.RunWith
911
import org.robolectric.RobolectricTestRunner
12+
import org.robolectric.annotation.GraphicsMode
1013

14+
@GraphicsMode(GraphicsMode.Mode.NATIVE)
1115
@RunWith(RobolectricTestRunner::class)
1216
class FirstRobolectricComposeTest {
1317
@get:Rule
@@ -23,4 +27,19 @@ class FirstRobolectricComposeTest {
2327
.onNode(hasText("Hello Robolectric!"))
2428
.assertExists()
2529
}
30+
31+
@Test
32+
fun roborazziTest() {
33+
composeRule.setContent {
34+
Greeting(name = "Roborazzi")
35+
}
36+
37+
composeRule
38+
.onNode(hasText("Hello Robolectric!"))
39+
.captureRoboImage()
40+
41+
composeRule
42+
.onRoot()
43+
.captureRoboImage()
44+
}
2645
}

app/src/test/java/com/github/takahirom/roborazzi/usage/examples/FirstRobolectricEspressoTest.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,16 @@ import androidx.test.core.app.ActivityScenario.launch
55
import androidx.test.espresso.Espresso.onView
66
import androidx.test.espresso.assertion.ViewAssertions.matches
77
import androidx.test.espresso.matcher.ViewMatchers
8+
import androidx.test.espresso.matcher.ViewMatchers.isRoot
89
import androidx.test.espresso.matcher.ViewMatchers.withId
10+
import com.github.takahirom.roborazzi.captureRoboImage
911
import org.junit.Assert.*
1012
import org.junit.Test
1113
import org.junit.runner.RunWith
1214
import org.robolectric.RobolectricTestRunner
15+
import org.robolectric.annotation.GraphicsMode
1316

17+
@GraphicsMode(GraphicsMode.Mode.NATIVE)
1418
@RunWith(RobolectricTestRunner::class)
1519
class FirstRobolectricEspressoTest {
1620
@Test
@@ -20,4 +24,15 @@ class FirstRobolectricEspressoTest {
2024
onView(withId(R.id.content))
2125
.check(matches(ViewMatchers.isDisplayed()))
2226
}
27+
28+
@Test
29+
fun roborazziTest() {
30+
val activityScenario = launch(MainActivity::class.java)
31+
32+
onView(withId(R.id.content))
33+
.captureRoboImage()
34+
35+
onView(isRoot())
36+
.captureRoboImage()
37+
}
2338
}

gradle/libs.versions.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ robolectric = "4.11.1"
99
lifecycle-runtime-ktx = "2.6.1"
1010
activity-compose = "1.8.1"
1111
compose-bom = "2023.03.00"
12+
roborazzi = "1.8.0-alpha-5"
1213

1314
[libraries]
1415
core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" }
@@ -26,10 +27,14 @@ ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
2627
ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
2728
material3 = { group = "androidx.compose.material3", name = "material3" }
2829
robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" }
30+
roborazzi = { group = "io.github.takahirom.roborazzi", name = "roborazzi", version.ref = "roborazzi" }
31+
roborazzi-compose = { group = "io.github.takahirom.roborazzi", name = "roborazzi-compose", version.ref = "roborazzi" }
32+
roborazzi-rule = { group = "io.github.takahirom.roborazzi", name = "roborazzi-junit-rule", version.ref = "roborazzi" }
2933

3034
[plugins]
3135
com-android-application = { id = "com.android.application", version.ref = "agp" }
3236
org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "org-jetbrains-kotlin-android" }
37+
roborazzi = { id = "io.github.takahirom.roborazzi", version.ref = "roborazzi" }
3338

3439
[bundles]
3540

0 commit comments

Comments
 (0)