学习
实践
活动
专区
工具
TVP
写文章

androidx.test.InstrumentationRegistry已弃用

浏览 609关注 0回答 6得票数 61
原文

切换到AndroidX并收到弃用的:import androidx.test.InstrumentationRegistry

如果我做了下一个导入:import androidx.test.platform.app.InstrumentationRegistry,我就不能使用getContext()了。

例如:val context = InstrumentationRegistry.getContext()

build.gradle

androidTestImplementation 'androidx.test.ext:junit:1.0.0-beta02'
androidTestImplementation 'androidx.test:runner:1.1.0-beta02'
原文
Jonik修改于2020-04-20 21:06

6 个回答

高票数最新
JuanMoreno
修改于2020-02-03 21:54
已采纳
得票数 102

在大多数情况下,您可以在androidx.test.platform.app.InstrumentationRegistry中使用InstrumentationRegistry.getInstrumentation().getTargetContext()

如果您需要该应用程序,您可以使用ApplicationProvider.getApplicationContext<MyAppClass>()

如果您还没有,我认为您还可以使用新的测试依赖项:androidTestImplementation 'androidx.test:core:1.0.0-beta02'

Mark O'Sullivan
回答于2018-12-19 04:00
得票数 50

当您使用Android X时,您需要确保您的应用程序的build.gradle文件中包含以下内容

androidTestImplementation 'androidx.test:core:1.1.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'

第二个是确保在测试中使用正确的AndroidJUnit4。

确保将这两个文件都导入。

import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4

现在,您可以使用如下所示的代码行,而不是使用val context = InstrumentationRegistry.getContext()

val context = InstrumentationRegistry.getInstrumentation().getTargetContext()
Ziem
修改于2019-07-19 19:17
得票数 3

对于Kotlin用法,为了获取上下文:

InstrumentationRegistry.getInstrumentation().targetContext
Elletlar
修改于2019-11-19 19:40
得票数 9

以下代码现在已弃用:

Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();

请改用:

Context context = ApplicationProvider.getApplicationContext();
Ajay
修改于2019-10-11 22:57
得票数 7

我花了很多时间在应用程序build.gradle中使用testImplementation而不是androidTestImplementation和reverse来移动依赖项。

我的错误是我在test文件夹而不是androidTest文件夹中创建了测试类,因此得到了AndroidJuit4InstrumentationRegistry的未解决的错误。

当我将我的测试文件转移到androidTest文件夹中,然后在build.gradle中使用androidTestImplementation独立实现测试库的问题得到了解决。

Sam
回答于2019-10-29 08:41
得票数 2

在导入下面使用

import androidx.test.platform.app.InstrumentationRegistry

Kotlin ex
   InstrumentationRegistry.getInstrumentation().context,
页面原文内容由Morozov、Jonik、karuto、JuanMoreno、woprandi、Shredder、lorenzo、Mark O'Sullivan、Dakatine、Phlip、Wesely、Adam Hurwitz、Ajay、The Fox、Ibrahim117、lomza、Ziem、Akgun Studio、Elletlar、Sam、user8128167提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:https://stackoverflow.com/questions/52924431复制

扫码关注腾讯云开发者

领取腾讯云代金券