小编Mil*_*aei的帖子

Jetpack compose 测试记录器

我想在我的 jetpack compose 项目中记录UI 测试,就像记录 Espresso 测试一样

我想按照以下步骤操作:
  1. 开始录音

  2. 打开应用程序

  3. 单击对象(按钮等...)

  4. 完成录音

  5. 获取生成的 kotlin 代码,就像 Espresso 录音一样

看来我们不能在 jetpackCompose 项目中使用 Espresso。

在此输入图像描述

但在这个项目中我仍然没有完全迁移到 JetpackCompose。但它会将其识别为 Jetpack Compose 项目

android kotlin android-espresso-recorder android-jetpack-compose android-jetpack-compose-testing

10
推荐指数
1
解决办法
1264
查看次数

为什么单元测试不需要 Hilt,但 UI 测试却需要 Hilt?

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

5
推荐指数
1
解决办法
2391
查看次数