根据https://stackoverflow.com/a/13556184/3286489,我们可以使用RenamingDelegatingContext
来帮助Android开发的SQLite数据库单元测试。
然而,在API级别24开始时,android doc宣布现已弃用。那么,在替换RenamingDelegatingContext
?
答案 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