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

时间:2018-04-27 12:52:50

标签: android android-espresso android-instrumentation test-runner

我已经编写了一些工作正常的检测测试,但现在获取错误无法在将依赖项升级到

后解决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 个答案:

答案 0 :(得分:33)

在测试支持库(2018-04-24)的最新更新中,“规则”依赖关系显然已从espresso-core中删除。我不确定为什么要这样做,但是the release notes对改变说了这个:

  

修复了espresso-core POM文件不能引入“规则”依赖关系,而是使用espresso-Intent POM拉它。对于开发人员而言,这应该是NoOp更改,因为没有espresso-core就不能使用espresso-intents。

您可以通过将以下dependency添加到app/build.gradle来解决此问题:

androidTestImplementation 'com.android.support.test:rules:1.0.2'

答案 1 :(得分:0)

AndroidX测试包含另一个处于测试阶段的API, ActivityScenario 。该API可在各种测试环境中工作,并在使用它的测试中提供线程安全性。考虑改用 ActivityScenarioRule ActivityScenario

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

ActivityScenarioRule(YourActivity::class.java)