Android Compose 单元测试实践
Posted 苍溟丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Compose 单元测试实践相关的知识,希望对你有一定的参考价值。
前言
做 android 开发多年,一直欠下不少单元测试的账,最近发现Compose 这套新的UI 系统可以单元测试,初步做了一下调研,发现可行,因为有官方的背书。
学到什么
- Compose 集成
- 官方支持的页面单元测试方法
- Hilt Dagger2 的集成
运行结果
核心实现思路
主要是项目用到的 dagger,现在官方很推荐这个依赖注入框架,由于dagger 和 Compose 的结合才令页面单元测试得以实现。
添加依赖
androidTestImplementation(libs.junit)
androidTestImplementation(libs.androidx.test.core)
androidTestImplementation(libs.androidx.test.runner)
androidTestImplementation(libs.androidx.test.espresso.core)
androidTestImplementation(libs.androidx.test.rules)
androidTestImplementation(libs.androidx.test.ext.junit)
androidTestImplementation(libs.kotlinx.coroutines.test)
androidTestImplementation(libs.androidx.compose.ui.test)
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
androidTestImplementation(libs.hilt.android.testing)
coreLibraryDesugaring(libs.core.jdk.desugaring)
kaptAndroidTest(libs.hilt.compiler)
@HiltAndroidTest
class HomeTest
@get:Rule(order = 0)
var hiltRule = HiltAndroidRule(this)
@get:Rule(order = 1)
val composeTestRule = createAndroidComposeRule<MainActivity>()
@Test
fun home_navigatesToAllScreens()
composeTestRule.onNodeWithText("Test...Test...Test...").assertIsDisplayed()
官方项目(Compose+单元测试)参考
项目源码
关注公众号,发送关键词 unit , 获取源码
以上是关于Android Compose 单元测试实践的主要内容,如果未能解决你的问题,请参考以下文章