androidx.test.InstrumentationRegistry is deprecated

后端 未结 6 888
耶瑟儿~
耶瑟儿~ 2020-12-24 04:49

Switched to AndroidX and received deprecated: import androidx.test.InstrumentationRegistry.

If I made next import: import androidx.te

相关标签:
6条回答
  • 2020-12-24 05:21

    Use below import

    import androidx.test.platform.app.InstrumentationRegistry
    
    Kotlin ex
       InstrumentationRegistry.getInstrumentation().context,
    
    0 讨论(0)
  • 2020-12-24 05:24

    For Kotlin usage, in order to get Context:

    InstrumentationRegistry.getInstrumentation().targetContext
    
    0 讨论(0)
  • 2020-12-24 05:30

    The following code is deprecated now:

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

    Instead use:

    Context context = ApplicationProvider.getApplicationContext();
    
    0 讨论(0)
  • 2020-12-24 05:33

    You can use InstrumentationRegistry.getInstrumentation().getTargetContext() in the most cases from androidx.test.platform.app.InstrumentationRegistry.

    If you need the Application, you can use ApplicationProvider.getApplicationContext<MyAppClass>().

    If you haven't already, I think you can also use the new test dependency: androidTestImplementation 'androidx.test:core:1.0.0-beta02'.

    0 讨论(0)
  • 2020-12-24 05:44

    I spent a lot of time moving dependency with testImplementation instead of androidTestImplementation and reverse, in the app build.gradle.

    My fault was that I have created the test class in the test folder instead of androidTest folder so getting unresolved error for AndroidJuit4 and InstrumentationRegistry.

    When I shifted my test file to the androidTest folder then issue been solved with depandency implementation of test libraries with androidTestImplementation in the build.gradle.

    0 讨论(0)
  • 2020-12-24 05:45

    When you're using Android X you need to make sure you have the following in your app's build.gradle file

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

    The second one is to make sure you have the correct AndroidJUnit4 to use in your tests.

    Make sure you import both of these.

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

    Now instead of using val context = InstrumentationRegistry.getContext() you can use the line shown below

    val context = InstrumentationRegistry.getInstrumentation().getTargetContext()
    
    0 讨论(0)
提交回复
热议问题