2

私の場合、Robolectric SQLiteOpenHelper の getVersion は常に 0 を返します。このため、現在の DATABASE_VERSION がたとえば 0 より大きい場合、DBHelper で onCreate が呼び出されます。

Robolectric で Database-Version を構成/設定する方法を知っている人はいますか? 私は robolectric-1.1-jar-with-dependencies.jar と roboguice-2.0b4.jar を使用しています。(これまでのところ読み取り+書き込みは機能します...)

どうも

4

1 に答える 1

2

うーん、Robolectric がいかにクールかがわかったので、自分の質問に答えなければなりません。これが私がしたことです:

ShadowSQLiteDatabase.java:

@Implements(SQLiteDatabase.class)
public class ShadowSQLiteDatabase extends com.xtremelabs.robolectric.shadows.ShadowSQLiteDatabase {

    @Implementation
    public int getVersion() {
        return 10;
    }
}

注入されたTestRunner.java:

public class InjectedTestRunner extends RobolectricTestRunner {
    ...
    @Override
    protected void bindShadowClasses() {
        Robolectric.bindShadowClass(ShadowSQLiteDatabase.class);
    }
}

それでおしまい!

于 2012-09-04T21:10:18.370 に答える