Abhimanyu
04/10/2024, 5:22 PMAbhimanyu
04/10/2024, 5:22 PM@Test
fun settingsScreenTest() = runTest {
homeScreen.assertIsDisplayed()
homeAppbarSettings.performClick()
Thread.sleep(2000)
composeTestRule.awaitIdle()
testNavHostController.assertCurrentRouteName(
expectedRouteName = Screen.Settings.route,
)
}
Abhimanyu
04/10/2024, 5:23 PMThread.sleep(2000)
& composeTestRule.awaitIdle()
.
It does not work in any case.Abhimanyu
04/10/2024, 5:23 PMexpected:<[settings]> but was:<[home]>
Scenario,
In home screen, I have an appbar with an icon to navigate to settings screen on click event.Abhimanyu
04/10/2024, 5:25 PMAbhimanyu
04/10/2024, 5:26 PM@HiltAndroidTest
class ComposeNavigationTest {
@get:Rule(order = 0)
var hiltRule = HiltAndroidRule(this)
@get:Rule(order = 1)
val composeTestRule = createAndroidComposeRule<HiltComponentActivity>()
private lateinit var testNavHostController: TestNavHostController
@Before
fun setUp() {
hiltRule.inject()
initNodes()
composeTestRule.setContent {
testNavHostController = TestNavHostController(
context = LocalContext.current,
).apply {
navigatorProvider.addNavigator(
navigator = ComposeNavigator(),
)
}
MyNavHost(
navHostController = testNavHostController,
)
}
}
@Test
fun testCode() {}
}
Abhimanyu
04/10/2024, 5:29 PMHiltComponentActivity
is added in the same way as Now In Android.