【问题标题】:Robolectric and SQLite.getVersionRobolectric 和 SQLite.getVersion
【发布时间】:2012-09-04 14:57:58
【问题描述】:
在我的例子中,Robolectric SQLiteOpenHelper 中的 getVersion 总是返回 0。
因此,如果当前 DATABASE_VERSION 大于 0,则在 DBHelper 中调用 onCreate。
有谁知道如何在 Robolectric 中配置/设置数据库版本?
我正在使用 robolectric-1.1-jar-with-dependencies.jar 和 roboguice-2.0b4.jar。
(到目前为止,读+写工作......)
谢谢
【问题讨论】:
标签:
java
android
unit-testing
roboguice
robolectric
【解决方案1】:
Uhhhh 发现 Robolectric 有多酷 - 所以我必须回答我自己的问题。这是我所做的:
ShadowSQLiteDatabase.java:
@Implements(SQLiteDatabase.class)
public class ShadowSQLiteDatabase extends com.xtremelabs.robolectric.shadows.ShadowSQLiteDatabase {
@Implementation
public int getVersion() {
return 10;
}
}
InjectedTestRunner.java:
public class InjectedTestRunner extends RobolectricTestRunner {
...
@Override
protected void bindShadowClasses() {
Robolectric.bindShadowClass(ShadowSQLiteDatabase.class);
}
}
就是这样!