2

在我的情况下,Robolectric SQLiteOpenHelper 中的 getVersion 始终返回 0。因此,如果当前 DATABASE_VERSION 大于 0,则在 DBHelper 中调用 onCreate。

有谁知道如何在 Robolectric 中配置/设置数据库版本?我正在使用 robolectric-1.1-jar-with-dependencies.jar 和 roboguice-2.0b4.jar。(到目前为止,读+写工作......)

谢谢

4

1 回答 1

2

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);
    }
}

而已!

于 2012-09-04T21:10:18.370 回答