开始录音
打开应用程序
单击对象(按钮等...)
完成录音
获取生成的 kotlin 代码,就像 Espresso 录音一样
但在这个项目中我仍然没有完全迁移到 JetpackCompose。但它会将其识别为 Jetpack Compose 项目
android kotlin android-espresso-recorder android-jetpack-compose android-jetpack-compose-testing
Hilt 测试指南文档中有一段关于单元测试的内容
Hilt 对于单元测试来说不是必需的,因为在测试使用构造函数注入的类时,您不需要使用 Hilt 来实例化该类。相反,您可以通过传入假或模拟依赖项来直接调用类构造函数,就像构造函数没有注释一样:
@ActivityScoped
class AnalyticsAdapter @Inject constructor(
private val service: AnalyticsService
) { ... }
class AnalyticsAdapterTest {
@Test
fun `Happy path`() {
// You don't need Hilt to create an instance of AnalyticsAdapter.
// You can pass a fake or mock AnalyticsService.
val adapter = AnalyticsAdapter(fakeAnalyticsService)
assertEquals(...)
}
}
Run Code Online (Sandbox Code Playgroud)
但在这里你可以看到文档正在解释如何在UI测试中使用Hilt。
我的问题是为什么 Hilt 对于单元测试来说不是必需的,但对于 UI 测试却是必需的?
android unit-testing dependency-injection ui-testing dagger-hilt
android ×2
android-jetpack-compose-testing ×1
dagger-hilt ×1
kotlin ×1
ui-testing ×1
unit-testing ×1