Sqlite Singleton导致Robolectric问题

时间:2018-10-24 21:56:46

标签: android android-sqlite rx-java

我有一个非常标准的项目设置,但是在使用某些单元测试时遇到了问题。在运行单元测试时,我具有用于可观察对象的RxJava,并且我发现Sqlite DB集成失败。

我的SQLiteHelper类作为单例(getInstance())运行。当我使用forkEvery = 1运行项目时,每次测试都会启动新的JVM,一切正常。但是,一旦我停止这样做,我就开始因为Sqlite忙或锁定而在测试中出现错误,并且我看到这样的错误

com.myproject.activities.ActivityTest > testButtonClicked FAILED
android.database.sqlite.SQLiteDatabaseLockedException at ActivityTest.java:477
    Caused by: java.util.concurrent.ExecutionException at ActivityTest.java:477
        Caused by: com.almworks.sqlite4java.SQLiteBusyException

除了一次运行一个JVM之外,我所做的更改似乎都没有影响。有更好的方法来解决此问题吗?

0 个答案:

没有答案