不推荐使用`RenamingDelegatingContext`。我们现在如何测试SQLite数据库?

时间:2016-10-11 22:18:54

标签: android sqlite unit-testing

根据https://stackoverflow.com/a/13556184/3286489,我们可以使用RenamingDelegatingContext来帮助Android开发的SQLite数据库单元测试。

然而,在API级别24开始时,android doc宣布现已弃用。那么,在替换RenamingDelegatingContext

时,我们可以采取哪种新的测试方法

2 个答案:

答案 0 :(得分:3)

我找到了一个解决方案,在那里我们可以使用Robolectric的RuntimeEnvironment.application作为上下文,其他的将直接作为正常的单元测试过程。

如果需要更多详细信息,请参阅此内容,其中包含测试Android SQLite数据库单元的完整代码。 https://medium.com/@elye.project/android-sqlite-database-unit-testing-is-easy-a09994701162#.rhdv2qa9o

答案 1 :(得分:0)

如果为targetSdkVersion 28,则必须将以下内容添加到模块的build.gradle

android {
    ...

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

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

这样做,RenamingDelegatingContext和其他缺少的类将再次可用。

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