我已经编写了一个简单的测试用例,用于测试 Realm 数据库。但我总是出错
java.lang.UnsatisfiedLinkError: Can't load library: /tmp/android-tmp-robolectric4167396756480823821/app_lib/librealm-jni.so
这是我的测试
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import io.realm.Realm;
@RunWith(RobolectricTestRunner.class)
public class RealmTest {
@Test
public void realmShouldWork() {
Realm realm = Realm.getInstance(RuntimeEnvironment.application.getApplicationContext());
}
}
我正在 Application 类中设置 Realm 配置。在正常运行模式下它工作正常。问题仅在测试模式下出现。我无法在测试模式下初始化 Realm 数据库实例。
最佳答案
Realm 还不支持 Robolectric:https://github.com/realm/realm-java/issues/904
但是如果你想将 Realm stub 以使用 Robolectric,你可以在我们的单元测试示例中看到如何做到这一点:https://github.com/realm/realm-java/tree/master/examples/unitTestExample
关于realm - 如何使用 Robolectric 在 Realm Db 中运行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36715273/