繁体   English   中英

Jetpack compose:没有方法 shouldWaitForActivitiesToComplete()

[英]Jetpack compose: No method shouldWaitForActivitiesToComplete()

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

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


检查测试.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。

但是,通过运行测试不会发生任何事情并且测试不会开始执行。

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

展示测试卡住的案例

我错过了设置的一部分吗? 测试未运行的原因是什么?


撰写:1.0.0-alpha05 AS :4.2-canary 14

更新

调试测试并检查其日志后,我看到此错误:

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

确保test:monitortest:core是最新的。

在 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是最新的之后,我终于可以运行测试了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM