就我而言,Robolectric SQLiteOpenHelper 中的 getVersion 始终返回 0。 因此,如果当前 DATABASE_VERSION 大于 0,则会在 DBHelper 中调用 onCreate。
有人知道如何在 Robolectric 中配置/设置数据库版本吗? 我正在使用 robolectric-1.1-jar-with-dependency.jar 和 roboguice-2.0b4.jar。 (到目前为止读+写有效...)
谢谢
最佳答案
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);
}
}
就是这样!
关于java - Robolectric 和 SQLite.getVersion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12266200/