Skip to content

Commit

Permalink
Add Roborazzi tests
Browse files Browse the repository at this point in the history
  • Loading branch information
takahirom committed Nov 25, 2023
1 parent 5c12252 commit 3a02b35
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 0 deletions.
4 changes: 4 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
plugins {
alias(libs.plugins.com.android.application)
alias(libs.plugins.org.jetbrains.kotlin.android)
alias(libs.plugins.roborazzi)
}

android {
Expand Down Expand Up @@ -68,6 +69,9 @@ dependencies {

testImplementation(libs.junit)
testImplementation(libs.robolectric)
testImplementation(libs.roborazzi)
testImplementation(libs.roborazzi.compose)
testImplementation(libs.roborazzi.rule)
testImplementation(libs.espresso.core)

testImplementation(libs.ui.test.junit4)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,16 @@ package com.github.takahirom.roborazzi.usage.examples

import androidx.compose.ui.test.hasText
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onRoot
import com.github.takahirom.roborazzi.captureRoboImage
import org.junit.Assert.*
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.GraphicsMode

@GraphicsMode(GraphicsMode.Mode.NATIVE)
@RunWith(RobolectricTestRunner::class)
class FirstRobolectricComposeTest {
@get:Rule
Expand All @@ -23,4 +27,19 @@ class FirstRobolectricComposeTest {
.onNode(hasText("Hello Robolectric!"))
.assertExists()
}

@Test
fun roborazziTest() {
composeRule.setContent {
Greeting(name = "Roborazzi")
}

composeRule
.onNode(hasText("Hello Robolectric!"))
.captureRoboImage()

composeRule
.onRoot()
.captureRoboImage()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,16 @@ import androidx.test.core.app.ActivityScenario.launch
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers
import androidx.test.espresso.matcher.ViewMatchers.isRoot
import androidx.test.espresso.matcher.ViewMatchers.withId
import com.github.takahirom.roborazzi.captureRoboImage
import org.junit.Assert.*
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.GraphicsMode

@GraphicsMode(GraphicsMode.Mode.NATIVE)
@RunWith(RobolectricTestRunner::class)
class FirstRobolectricEspressoTest {
@Test
Expand All @@ -20,4 +24,15 @@ class FirstRobolectricEspressoTest {
onView(withId(R.id.content))
.check(matches(ViewMatchers.isDisplayed()))
}

@Test
fun roborazziTest() {
val activityScenario = launch(MainActivity::class.java)

onView(withId(R.id.content))
.captureRoboImage()

onView(isRoot())
.captureRoboImage()
}
}
5 changes: 5 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ robolectric = "4.11.1"
lifecycle-runtime-ktx = "2.6.1"
activity-compose = "1.8.1"
compose-bom = "2023.03.00"
roborazzi = "1.8.0-alpha-5"

[libraries]
core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" }
Expand All @@ -26,10 +27,14 @@ ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
material3 = { group = "androidx.compose.material3", name = "material3" }
robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" }
roborazzi = { group = "io.github.takahirom.roborazzi", name = "roborazzi", version.ref = "roborazzi" }
roborazzi-compose = { group = "io.github.takahirom.roborazzi", name = "roborazzi-compose", version.ref = "roborazzi" }
roborazzi-rule = { group = "io.github.takahirom.roborazzi", name = "roborazzi-junit-rule", version.ref = "roborazzi" }

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

[bundles]

0 comments on commit 3a02b35

Please sign in to comment.