我有一个非常标准的项目设置,但是在使用某些单元测试时遇到了问题。在运行单元测试时,我具有用于可观察对象的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之外,我所做的更改似乎都没有影响。有更好的方法来解决此问题吗?