不推荐使用androidx.test.InstrumentationRegistry

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (4580)

切换到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'
提问于
用户回答回答于

你可以在大多数情况下使用InstrumentationRegistry.getInstrumentation().targetContext

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

如果你还没有,我想你也可以使用一个新的测试依赖: androidTestImplementation 'androidx.test:core:1.0.0-beta02'

用户回答回答于

当您使用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.getInstrumentation().getTargetContext()

而不是使用val context = InstrumentationRegistry.getContext()

扫码关注云+社区

领取腾讯云代金券