问题描述
我处于要为该应用编写 androidTests 的状态。
阅读Testing Compose的文档后,我创建了一个文件并编写了一个简单的测试来检查进度:
examineTest.kt:
class examineTest {
@get:Rule
val composeTestRule = createComposeRule()
@Test
fun atlaunchdefaultTextExists() {
composeTestRule.setContent {
Text(text = "text")
}
composeTestRule.onNodeWithText("text").assertIsdisplayed()
}
}
我还在AndroidManifest
处添加了调试app/src/debug/
,以按照文档中的建议启用ComposeActivity。
但是,通过运行测试,什么也不会发生,并且测试不会开始执行。
这里是测试可用的状态(已构建并部署了应用程序。但尚未开始运行测试。正常执行应用程序可以正常工作):
我是否缺少设置的一部分?测试未运行的原因是什么?
撰写:1.0.0-alpha05 AS :4.2 Canary 14
更新
调试测试并检查其日志后,我看到此错误:
No method shouldWaitForActivitiesToComplete() in
androidx/test/runner/AndroidJUnitRunner
解决方法
确保
test:monitor
和test:core
是最新的。
在Android测试的github上检查此问题后,我意识到该问题可能是由于test:monitor
的年龄超出了需要的。所以我做了这些步骤:
-
检查Gradle任务
app:dependencies
以查看test:monitor
库的版本 -
如果确实很旧(以前是
1.2.0
,而不是最新的1.3.0
),请找到降级的库。在我的情况下,
fragment-testing
将其降级为1.2
,所以我将其删除。
确保test:monitor
和test:core
是最新的之后,我终于可以运行测试了