`RenamingDelegatingContext` is deprecated. How do

2020-06-16 02:24发布

As per https://stackoverflow.com/a/13556184/3286489, we could use RenamingDelegatingContext for aiding the SQLite DB unit test for Android development.

However in beginning API level 24, android doc announced that this is now deprecated. So what is the new approach of testing we could do in replacing RenamingDelegatingContext?

2条回答
Animai°情兽
2楼-- · 2020-06-16 03:08

If targetSdkVersion 28, you must add the following to your module's build.gradle:

android {
    ...

    // Gradle automatically adds 'android.test.runner' as a dependency.
    useLibrary 'android.test.runner'

    useLibrary 'android.test.base'
    useLibrary 'android.test.mock'
}

By doing this, RenamingDelegatingContext and other missing classes will be available again.

Source: https://developer.android.com/training/testing/set-up-project

查看更多
▲ chillily
3楼-- · 2020-06-16 03:19

I have found a solution, where we could just use Robolectric's RuntimeEnvironment.application as the Context, and the others would be straight forward as normal Unit test process.

In case if more details is needed, do refer to this, that has complete code of having Android SQLite DB unit tested. https://medium.com/@elye.project/android-sqlite-database-unit-testing-is-easy-a09994701162#.rhdv2qa9o

查看更多
登录 后发表回答