由于领域原因,无法使用Robolectric运行junit测试

时间:2019-12-17 02:07:46

标签: android realm robolectric

我通过AndroidStudio 3.5运行junit测试,但失败 Roboletric创建应用程序实例,并且无法初始化领域。

失败如下,

com.getkeepsafe.relinker.MissingLibraryException: librealm-jni.dylib

at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary(ApkLibraryInstaller.java:123)
at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:180)
at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary(ReLinkerInstance.java:136)
at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:70)
at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:57)
at io.realm.internal.RealmCore.loadLibrary(RealmCore.java:60)
at io.realm.Realm.initializeRealm(Realm.java:322)
at io.realm.Realm.init(Realm.java:265)
at com.byron.MyApplication.onCreate(MyApplication.java:157)
at org.robolectric.android.internal.AndroidTestEnvironment.lambda$installAndCreateApplication$0(AndroidTestEnvironment.java:276)
at org.robolectric.util.PerfStatsCollector.measure(PerfStatsCollector.java:75)

build.gradle

android {
     defaultConfig {
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         testOptions.unitTests.returnDefaultValues = true
         testOptions.unitTests.includeAndroidResources = true
    }
    dependencies {
        testImplementation 'junit:junit:4.12'
        testImplementation 'org.robolectric:robolectric:4.3.1'

        testImplementation 'androidx.test:core:1.0.0'
        testImplementation 'androidx.test:runner:1.1.0'
        testImplementation 'androidx.test:rules:1.1.0'

        testImplementation 'org.mockito:mockito-core:1.10.19'
        testImplementation 'androidx.test.ext:junit:1.0.0'
        testImplementation 'androidx.test.ext:truth:1.0.0'
    }
}

gradle.properties

android.useAndroidX=true
android.enableJetifier=true
android.enableUnitTestBinaryResources=true
android.enableSeparateAnnotationProcessing=true

MyApplication.java

 public class MyApplication extends Application {
     public void onCreate(){
          super.onCreate();
          Realm.init(this);
     }
 }

0 个答案:

没有答案