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
比需要的要早。所以我做了这些步骤:
检查Gradle任务app:dependencies
以查看test:monitor
库
的版本
如果它确实很旧(1.2.0
而不是最新的 1.3.0
),请找到将其降级的库。
在我的例子中 fragment-testing
将其降级为 1.2
,所以我删除了它。
在确保 test:monitor
和 test:core
是最新的之后,我终于可以 运行 测试
我正处于要为应用程序编写 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
andtest:core
are up to date.
在 Android-test github 上检查这个问题,我意识到这个问题可能是因为 test:monitor
比需要的要早。所以我做了这些步骤:
检查Gradle任务
的版本app:dependencies
以查看test:monitor
库如果它确实很旧(
1.2.0
而不是最新的1.3.0
),请找到将其降级的库。在我的例子中
fragment-testing
将其降级为1.2
,所以我删除了它。
在确保 test:monitor
和 test:core
是最新的之后,我终于可以 运行 测试