Skip to content

Commit 6e5aa07

Browse files
committed
각 테스트마다 launchActivity() 대신 ActivityScenarioRule 활용 (#19)
1 parent 9018fc3 commit 6e5aa07

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

app/src/androidTest/java/com/github/galcyurio/todo/tasks/TasksFragmentTest.kt

+11-7
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ package com.github.galcyurio.todo.tasks
33
import androidx.navigation.Navigation
44
import androidx.navigation.testing.TestNavHostController
55
import androidx.test.core.app.ApplicationProvider
6-
import androidx.test.core.app.launchActivity
6+
import androidx.test.ext.junit.rules.activityScenarioRule
77
import androidx.test.ext.junit.runners.AndroidJUnit4
88
import com.github.galcyurio.todo.MainActivity
99
import com.github.galcyurio.todo.R
1010
import dagger.hilt.android.testing.HiltAndroidRule
1111
import dagger.hilt.android.testing.HiltAndroidTest
1212
import org.hamcrest.Matchers.equalTo
1313
import org.junit.Assert.assertThat
14+
import org.junit.Before
1415
import org.junit.Rule
1516
import org.junit.Test
1617
import org.junit.runner.RunWith
@@ -19,17 +20,20 @@ import org.junit.runner.RunWith
1920
@RunWith(AndroidJUnit4::class)
2021
class TasksFragmentTest {
2122
@get:Rule val hiltRule = HiltAndroidRule(this)
23+
@get:Rule val activityScenarioRule = activityScenarioRule<MainActivity>()
2224

23-
@Test fun showTasksUi() {
24-
// given
25-
val navController = TestNavHostController(ApplicationProvider.getApplicationContext())
26-
navController.setGraph(R.navigation.nav_graph)
25+
private lateinit var navController: TestNavHostController
2726

28-
// when - 화면이 뜨면
29-
launchActivity<MainActivity>().onActivity {
27+
@Before fun setUp() {
28+
navController = TestNavHostController(ApplicationProvider.getApplicationContext())
29+
navController.setGraph(R.navigation.nav_graph)
30+
activityScenarioRule.scenario.onActivity {
3031
Navigation.setViewNavController(it.requireViewById(R.id.nav_host_fragment), navController)
3132
}
33+
}
3234

35+
@Test fun showTasksUi() {
36+
// when - 화면이 뜨면
3337
// then - 업무 목록 화면이 보여야 한다
3438
assertThat(navController.currentDestination?.id, equalTo(R.id.tasksFragment))
3539
}

0 commit comments

Comments
 (0)