Jetpack 撰写:没有方法 shouldWaitForActivitiesToComplete()

Jetpack compose: No method shouldWaitForActivitiesToComplete()

我正处于要为应用程序编写 androidTests 的状态。

阅读 Testing Compose 的文档,我创建了一个文件并编写了一个简单的测试来检查进度:


ExamineTest.kt:

class ExamineTest {

    @get:Rule
    val composeTestRule = createComposeRule()


    @Test
    fun atLaunchDefaultTextExists() {
        composeTestRule.setContent {
            Text(text = "text")
        }
        composeTestRule.onNodeWithText("text").assertIsDisplayed()
    }
}

我还按照文档中的建议在 app/src/debug/ 添加了调试 AndroidManifest 以启用 ComposeActivity。

但是,运行测试不会发生任何事情,测试也不会开始执行。

这是测试获得库存的状态(应用程序已构建并部署。但尚未开始 运行 测试。应用程序的正常执行工作正常):

我是否遗漏了设置的一部分?测试未 运行ning 的原因是什么?


撰写:1.0.0-alpha05 AS: 4.2-金丝雀 14

更新

调试测试并检查它的日志后,我看到了这个错误:

No method shouldWaitForActivitiesToComplete() in 
androidx/test/runner/AndroidJUnitRunner 

Make sure test:monitor and test:core are up to date.

在 Android-test github 上检查这个问题,我意识到这个问题可能是因为 test:monitor 比需要的要早。所以我做了这些步骤:

  1. 检查Gradle任务app:dependencies以查看test:monitor

    的版本
  2. 如果它确实很旧(1.2.0 而不是最新的 1.3.0),请找到将其降级的库。

    在我的例子中 fragment-testing 将其降级为 1.2,所以我删除了它。

在确保 test:monitortest:core 是最新的之后,我终于可以 运行 测试