mardi 12 juin 2018

How to use sqlite-android with Robolectric

In the process of migrating to sqlite-android I am facing problems when running integration tests using Robolectric. I am getting the following errors:

java.lang.UnsatisfiedLinkError: no sqlite3x in java.library.path

    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at io.requery.android.database.sqlite.SQLiteDatabase.<clinit>(SQLiteDatabase.java:86)
    at io.requery.android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:227)
    at io.requery.android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:174)

And

java.lang.NoClassDefFoundError: Could not initialize class io.requery.android.database.sqlite.SQLiteDatabase

    at io.requery.android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:227)
    at io.requery.android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:174)

I read something that seems related here and here, but I don't understand how to make Robolectric load the native '.so' libraries used by sqlite-android. I am running Windows 10-64bit

Is it possible to run integration tests using Robolectric and sqlite-android?

Aucun commentaire:

Enregistrer un commentaire