升级依赖后无法解析ActivityTestRule。无法导入ActivityTestRule。

27

我已经编写了一些仪器测试,它们一直工作得很好,但现在在升级依赖项后出现错误“无法解析ActivityTestRule错误”。

androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

我正在使用Android支持库版本27.1.1

这与依赖关系良好配合工作。

androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
2个回答

50
在Testing Support Library的最新更新(2018-04-24)中,"rules"依赖似乎已经从“espresso-core”中移除。我不确定为什么要这样做,但发行说明对此变化有以下描述:
“修复了espresso-core POM文件,使其不再拉入“rules”依赖项,而是由espresso-intents POM来拉入。对于开发人员来说,这应该是一个无操作(NoOp)的更改,因为没有espresso-core就不能使用espresso-intents。”
您可以通过将以下依赖项添加到app/build.gradle来解决此问题:
androidTestImplementation 'com.android.support.test:rules:1.0.2'

1
请注意,support.test:rules 不是 Espresso 的依赖项。现在它可以独立使用了。此外,core 建议最小化依赖影响,我认为它实际上没有使用 rules 中的任何类。这为我们开发人员提供了更多的控制权。 - TWiStErRob

1

AndroidX测试包含另一个APIActivityScenario,该API目前处于beta版本。此API可以在各种测试环境中工作,并为使用它的测试提供线程安全性。建议考虑改用ActivityScenarioRuleActivityScenario

import androidx.test.ext.junit.rules.ActivityScenarioRule

ActivityScenarioRule(YourActivity::class.java)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接