realm / realm-java

Realm is a mobile database: a replacement for SQLite & ORMs
http://realm.io
Apache License 2.0
11.46k stars 1.75k forks source link

Unit test example is broken #6715

Closed JirkaKrivanek closed 4 years ago

JirkaKrivanek commented 4 years ago

Goal

Write the unit tests of code using Realm.

Actual Results

Strange exceptions during the unit test execution (more precisely BEFORE the unit tests cases (@Test) and initialisers (@Before) are executed, probably somewhere during the test environment setup):

"/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:/Applications/Android Studio.app/Contents/lib/idea_rt.jar=51430:/Applications/Android Studio.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "/Applications/Android Studio.app/Contents/lib/idea_rt.jar:/Applications/Android Studio.app/Contents/plugins/junit/lib/junit-rt.jar:/Applications/Android Studio.app/Contents/plugins/junit/lib/junit5-rt.jar:/Applications/Android/sdk/platforms/android-27/data/res:/Volumes/Gemalto/MBISDK/MBISDK/Common/CommonCore/build/intermediates/classes/test/debug:/Volumes/Gemalto/MBISDK/MBISDK/Common/CommonCore/build/intermediates/classes/debug:/Volumes/Gemalto/MBISDK/MBISDK/Common/CommonCore/build/generated/res/rs/debug:/Volumes/Gemalto/MBISDK/MBISDK/Common/CommonCore/build/generated/res/resValues/debug:/Users/kk/.m2/repository/junit/junit/4.12/junit-4.12.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar:/Users/kk/.m2/repository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar:/Users/kk/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-module-junit4/1.6.6/6dd79e43e666a017545c7e32fe10da127650df6e/powermock-module-junit4-1.6.6.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-module-junit4-rule/1.6.6/e62d3ac474685ba51a432ab2a8af7e708df0ad1d/powermock-module-junit4-rule-1.6.6.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-module-junit4-common/1.6.6/6302c934d03f76fa348ec91c603e11ce05b61f44/powermock-module-junit4-common-1.6.6.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.robolectric/robolectric/4.3.1/b7374ec0a3695a741ca984b9eaaa80632fb4a7f0/robolectric-4.3.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-api-mockito/1.6.6/99e7e9f0133ba5595b8a44cc6530baefda7e7e9e/powermock-api-mockito-1.6.6.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-classloading-xstream/1.6.6/dfd9340b6531e2ac942a507f3b81c0a2b6a4fd48/powermock-classloading-xstream-1.6.6.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.robolectric/shadows-framework/4.3.1/da048a93951f4d9e46519749c53b0f868dfdf425/shadows-framework-4.3.1.jar:/Users/kk/.m2/repository/com/google/android/apps/common/testing/accessibility/framework/accessibility-test-framework/2.1/accessibility-test-framework-2.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.robolectric/resources/4.3.1/ccc69608304ec4c36e8b26d7fe7f48d7bec1dd0b/resources-4.3.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.robolectric/junit/4.3.1/4f04c077a385c47801946ffa080a6beb19ba9ee/junit-4.3.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.robolectric/sandbox/4.3.1/4b1b82b661ebc747a6e4ddcfdbfc939e9cd24886/sandbox-4.3.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.robolectric/plugins-maven-dependency-resolver/4.3.1/8b9d224707c0eff28ec39e9d7b33774c7b128d25/plugins-maven-dependency-resolver-4.3.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.robolectric/utils/4.3.1/ae572384d7fc49713ef3fc2061a81b45aefe9eb7/utils-4.3.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/com.google.auto.service/auto-service/1.0-rc4/44954d465f3b9065388bbd2fc08a3eb8fd07917c/auto-service-1.0-rc4.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/com.google.auto/auto-common/0.8/c6f7af0e57b9d69d81b05434ef9f3c5610d498c4/auto-common-0.8.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/27.0.1-jre/bd41a290787b5301e63929676d792c507bbc00ae/guava-27.0.1-jre.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/28.0.0/ed73f5337a002d1fd24339d5fb08c2c9d9ca60d8/support-annotations-28.0.0.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.mockito/mockito-core/1.10.19/e8546f5bef4e061d8dd73895b4e8f40e3fe6effe/mockito-core-1.10.19.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-api-mockito-common/1.6.6/da4b2a87c56506c49cef6e285724c266a719b63c/powermock-api-mockito-common-1.6.6.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.robolectric/pluginapi/4.3.1/48807e74eba780ea0261de605c021195f511f990/pluginapi-4.3.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.robolectric/shadowapi/4.3.1/a93e55b36c418aa3afc17c26eac82590a3bfb63e/shadowapi-4.3.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.robolectric/annotations/4.3.1/5ba2cdb5be608a05ae01e27c8d3675a86b34b4f3/annotations-4.3.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.robolectric/utils-reflector/4.3.1/2e8444b02656d03df82334c6f2b062a3da46f0bc/utils-reflector-4.3.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/javax.annotation/javax.annotation-api/1.3.2/934c04d3cfef185a8008e7bf34331b79730a9d43/javax.annotation-api-1.3.2.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.52/88a941faf9819d371e3174b5ed56a3f3f7d73269/bcprov-jdk15on-1.52.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-classloading-base/1.6.6/25fda7cbf58ba4c21924eef44b5c5b261c33a7a/powermock-classloading-base-1.6.6.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-api-support/1.6.6/5ba4af06a0345c615efcdadb6ef35f5ae5a39a36/powermock-api-support-1.6.6.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-core/1.6.6/8085fae46f60d7ff960f1cc711359c00b35c5887/powermock-core-1.6.6.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/com.thoughtworks.xstream/xstream/1.4.9/c43f6e6bfa79b56e04a8898a923c3cf7144dd460/xstream-1.4.9.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.apache.maven/maven-ant-tasks/2.1.3/b09be554228d66d208e5fef5266844aacf443abc/maven-ant-tasks-2.1.3.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.apache.ant/ant/1.8.0/7b456ca6b93900f96e58cc8371f03d90a9c1c8d1/ant-1.8.0.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/7.0/478006d07b7c561ae3a92ddc1829bca81ae0cdd1/asm-commons-7.0.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/7.0/18d4d07010c24405129a6dbb0e92057f8779fb9d/asm-util-7.0.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/7.0/4b310d20d6f1c6b7197a75f1b5d69f169bc8ac1f/asm-analysis-7.0.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/7.0/29bc62dcb85573af6e62e5b2d735ef65966c4180/asm-tree-7.0.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/7.0/d74d4ba0dee443f68fb2dcb7fcdb945a2cd89912/asm-7.0.jar:/Users/kk/.m2/repository/com/almworks/sqlite4java/sqlite4java/0.282/sqlite4java-0.282.jar:/Users/kk/.m2/repository/com/ibm/icu/icu4j/53.1/icu4j-53.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.0.0/45599f2cd5965ac05a1488fa2a5c0cdd7c499ead/annotation-1.0.0.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.powermock/powermock-reflect/1.6.6/3fa5d0acee85c5662102ab2ef7a49bbb5a56bae5/powermock-reflect-1.6.6.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.javassist/javassist/3.21.0-GA/598244f595db5c5fb713731eddbb1c91a58d959b/javassist-3.21.0-GA.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.objenesis/objenesis/2.4/2916b6c96b50c5b3ec4452ed99401db745aabb27/objenesis-2.4.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/xmlpull/xmlpull/1.1.3.1/2b8e230d2ab644e4ecaa94db7cdedbc40c805dfa/xmlpull-1.1.3.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/xpp3/xpp3_min/1.1.4c/19d4e90b43059058f6e056f794f0ea4030d60b86/xpp3_min-1.1.4c.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.apache.ant/ant-launcher/1.8.0/8b53ba16fa62fb1034da8f1de200ddc407c8381/ant-launcher-1.8.0.jar:/Users/kk/.m2/repository/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.jar:/Users/kk/.m2/repository/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.jar:/Users/kk/.m2/repository/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.jar:/Users/kk/.m2/repository/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.jar:/Users/kk/.m2/repository/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.jar:/Users/kk/.m2/repository/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.jar:/Users/kk/.m2/repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar:/Users/kk/.m2/repository/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar:/Users/kk/.m2/repository/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.jar:/Users/kk/.m2/repository/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.apache.maven.wagon/wagon-file/1.0-beta-6/6c53633505460caf49d2660de1e24744d915afb9/wagon-file-1.0-beta-6.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.apache.maven.wagon/wagon-http-lightweight/1.0-beta-6/b3815078570c3b1f0667e123d59717c6b726c6c2/wagon-http-lightweight-1.0-beta-6.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.apache.maven.wagon/wagon-http-shared/1.0-beta-6/ccd70d7e0d8c085e648a83f072da06ca9a53be94/wagon-http-shared-1.0-beta-6.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.apache.maven.wagon/wagon-provider-api/1.0-beta-6/3f952e0282ae77ae59851d96bb18015e520b6208/wagon-provider-api-1.0-beta-6.jar:/Users/kk/.m2/repository/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.codehaus.plexus/plexus-utils/1.5.15/c689598ce1eb94c304817877ed15911099972526/plexus-utils-1.5.15.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.codehaus.plexus/plexus-interpolation/1.11/ad9dddff6043194904ad1d2c00ff1d003c3915f7/plexus-interpolation-1.11.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/com.google.guava/failureaccess/1.0.1/1dcf1de382a0bf95a3d8b0849546c88bac1292c9/failureaccess-1.0.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/com.google.guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/b421526c5f297295adef1c886e5246c39d4ac629/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.checkerframework/checker-qual/2.5.2/cea74543d5904a30861a61b4643a5f2bb372efc4/checker-qual-2.5.2.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.2.0/88e3c593e9b3586e1c6177f89267da6fc6986f0c/error_prone_annotations-2.2.0.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/com.google.j2objc/j2objc-annotations/1.1/ed28ded51a8b1c6b112568def5f4b455e6809019/j2objc-annotations-1.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/org.codehaus.mojo/animal-sniffer-annotations/1.17/f97ce6decaea32b36101e37979f8b647f00681fb/animal-sniffer-annotations-1.17.jar:/Users/kk/.m2/repository/com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.jar:/Users/kk/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/nekohtml/xercesMinimal/1.9.6.2/d1c5e063683a0e6f77cd5f051a9d4af48346fa6/xercesMinimal-1.9.6.2.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/nekohtml/nekohtml/1.9.6.2/2d960be7b62ae6622dbbbe49ab4ffdc609f85c80/nekohtml-1.9.6.2.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/monitor-1.2.0.aar/19032ed88b74862cb46eae00c470d479/jars/classes.jar:/Users/kk/.m2/repository/io/realm/realm-annotations/6.0.1.1-GTO/realm-annotations-6.0.1.1-GTO.jar:/Volumes/Gemalto/MBISDK/MBILIBS/com/gemalto/android/lib/http-real-debug/2.0.2/http-real-debug-2.0.2.jar:/Volumes/Gemalto/MBISDK/MBILIBS/com/gemalto/android/lib/logging/2.0.2-SNAPSHOT/logging-2.0.2-SNAPSHOT.jar:/Volumes/Gemalto/MBISDK/MBILIBS/com/gemalto/securestorage/securestorage/1.3.2/securestorage-1.3.2.jar:/Volumes/Gemalto/MBISDK/MBILIBS/org/spongycastle/spongycastle/1.50.0/spongycastle-1.50.0.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.2/25ea2e8b0c338a877313bd4672d3fe056ea78f0d/jsr305-3.0.2.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/27.1.1/39ded76b5e1ce1c5b2688e1d25cdc20ecee32007/support-annotations-27.1.1.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.1.0/edf3f7bfb84a7521d0599efa3b0113a0ee90f85/common-1.1.0.jar:/Users/kk/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.1.0/8007981f7d7540d89cd18471b8e5dcd2b4f99167/common-1.1.0.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/realm-android-library-6.0.1.1-GTO.aar/7d163e9b5a54270a8eeeb0749253ed21/jars/classes.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/63ab13b738c631973fee440f6183f89e/jars/classes.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/63ab13b738c631973fee440f6183f89e/res:/Users/kk/.gradle/caches/transforms-1/files-1.1/sprng-2.0.0.aar/475740fe440bfcd1c253d3138556a972/jars/classes.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/sprng-2.0.0.aar/475740fe440bfcd1c253d3138556a972/res:/Users/kk/.gradle/caches/transforms-1/files-1.1/relinker-1.3.0.aar/97dfdbe731f14a0573a563f14a7ee41a/jars/classes.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/support-fragment-27.1.1.aar/17a7b6ed9e81476e260b2a8e210e50f1/jars/classes.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-27.1.1.aar/02aea253a485c2176b1000f8f8e1d3a5/jars/classes.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/support-core-ui-27.1.1.aar/0aed7d21608bfffe1cea2464808d89fa/jars/classes.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/support-core-ui-27.1.1.aar/0aed7d21608bfffe1cea2464808d89fa/res:/Users/kk/.gradle/caches/transforms-1/files-1.1/support-core-utils-27.1.1.aar/27d3ed5383009c8f174ecd77e5943455/jars/classes.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-27.1.1.aar/b78cb1a45096fd05fa29e9ae4e518705/jars/classes.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/support-compat-27.1.1.aar/b319e059e973012db93d05cae5a5acef/jars/classes.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/support-compat-27.1.1.aar/b319e059e973012db93d05cae5a5acef/res:/Users/kk/.gradle/caches/transforms-1/files-1.1/livedata-core-1.1.0.aar/5e7db4c51ab3e9757251815af3531470/jars/classes.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/viewmodel-1.1.0.aar/fdcef2c9a48534fa649c03322a033115/jars/classes.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/26cdfae1d34d33971c5b5eef897f09a7/jars/classes.jar:/Users/kk/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/615772a5c45956276d4eb14b3ec1492c/jars/classes.jar:/Volumes/Gemalto/MBISDK/MBISDK/Common/CommonApi/build/intermediates/classes/debug:/Volumes/Gemalto/MBISDK/MBISDK/Common/CommonApi/build/generated/res/rs/debug:/Volumes/Gemalto/MBISDK/MBISDK/Common/CommonApi/build/generated/res/resValues/debug:/Volumes/Gemalto/MBISDK/MBISDK/Common/CommonCore/build/intermediates/sourceFolderJavaResources/test/debug:/Volumes/Gemalto/MBISDK/MBISDK/Common/CommonCore/build/intermediates/sourceFolderJavaResources/debug:/Volumes/Gemalto/MBISDK/MBISDK/Common/CommonApi/build/intermediates/sourceFolderJavaResources/debug:/Volumes/Gemalto/MBISDK/MBISDK/Common/CommonCore/build/generated/mockable-android-27.v3.jar" com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 com.gemalto.mbi.common.internal.realm.MbiRealmPersistingFacilityTest,testReadAndWriteOfData
[Robolectric] WARN: Android SDK 29 requires Java 9 (have Java 8). Tests won't be run on SDK 29 unless explicitly requested.
WARNING: No manifest file found at ./AndroidManifest.xml.
No such manifest file: ./AndroidManifest.xml
Falling back to the Android OS resources only.
To remove this warning, annotate your test class with @Config(manifest=Config.NONE).[Robolectric] com.gemalto.mbi.common.internal.realm.MbiRealmPersistingFacilityTest.testReadAndWriteOfData: sdk=21; resources=LEGACY
[Robolectric] NOTICE: legacy resources mode is deprecated; see http://robolectric.org/migrating/#migrating-to-40
java.lang.RuntimeException: Method clear in android.util.SparseArray not mocked. See http://g.co/androidstudio/not-mocked for details.
    at android.util.SparseArray.clear(SparseArray.java)
    at org.robolectric.shadows.ShadowAccessibilityNodeInfo.resetObtainedInstances(ShadowAccessibilityNodeInfo.java:280)
    at org.robolectric.Shadows.reset(Shadows.java:2129)
    at org.robolectric.android.internal.AndroidTestEnvironment.resetState(AndroidTestEnvironment.java:486)
    at org.robolectric.RobolectricTestRunner.lambda$finallyAfterTest$0(RobolectricTestRunner.java:334)
    at org.robolectric.util.PerfStatsCollector.measure(PerfStatsCollector.java:75)
    at org.robolectric.RobolectricTestRunner.finallyAfterTest(RobolectricTestRunner.java:332)
    at org.robolectric.internal.SandboxTestRunner$2.lambda$evaluate$0(SandboxTestRunner.java:261)
    at org.robolectric.internal.bytecode.Sandbox.lambda$runOnMainThread$0(Sandbox.java:89)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

java.lang.RuntimeException: Method setLocale in android.content.res.Configuration not mocked. See http://g.co/androidstudio/not-mocked for details.

    at android.content.res.Configuration.setLocale(Configuration.java)
    at org.robolectric.android.DeviceConfig.setLocale(DeviceConfig.java:388)
    at org.robolectric.android.DeviceConfig.applyRules(DeviceConfig.java:256)
    at org.robolectric.android.Bootstrap.applyQualifiers(Bootstrap.java:50)
    at org.robolectric.android.internal.AndroidTestEnvironment.setUpApplicationState(AndroidTestEnvironment.java:151)
    at org.robolectric.RobolectricTestRunner.beforeTest(RobolectricTestRunner.java:301)
    at org.robolectric.internal.SandboxTestRunner$2.lambda$evaluate$0(SandboxTestRunner.java:243)
    at org.robolectric.internal.bytecode.Sandbox.lambda$runOnMainThread$0(Sandbox.java:89)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

java.lang.NullPointerException
    at org.robolectric.RobolectricTestRunner$RobolectricFrameworkMethod$TestExecutionContext.access$400(RobolectricTestRunner.java:693)
    at org.robolectric.RobolectricTestRunner$RobolectricFrameworkMethod.getSdk(RobolectricTestRunner.java:624)
    at org.robolectric.RobolectricTestRunner$RobolectricFrameworkMethod.hashCode(RobolectricTestRunner.java:678)
    at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
    at org.junit.runners.BlockJUnit4ClassRunner.describeChild(BlockJUnit4ClassRunner.java:93)
    at org.junit.runners.BlockJUnit4ClassRunner.describeChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner.getDescription(ParentRunner.java:352)
    at org.junit.runner.Runner.testCount(Runner.java:41)
    at org.powermock.modules.junit4.internal.impl.DelegatingPowerMockRunner.getTestCount(DelegatingPowerMockRunner.java:168)
    at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.run(JUnit4TestSuiteChunkerImpl.java:130)
    at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.run(AbstractCommonPowerMockRunner.java:53)
    at org.powermock.modules.junit4.PowerMockRunner.run(PowerMockRunner.java:59)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

Process finished with exit code 254

Steps & Code to Reproduce

I just took this example and extracted the test from it:

Workaround

I just followed this guide

To setup the Robolectric and Powermock properly.

Then things started to work fine.

The only change is in the annotations of the test class - the working one looks like this:

@RunWith(RobolectricTestRunner.class)
@Config(sdk = 21)
@PowerMockIgnore({"org.mockito.*", "org.robolectric.*", "android.*", "androidx.*"})
@SuppressStaticInitializationFor("io.realm.internal.Util")
@PrepareForTest({Realm.class, RealmConfiguration.class, RealmQuery.class, RealmResults.class, RealmCore.class, RealmLog.class})

Version of Realm and tooling

Realm version(s): 6.x.x

Realm Sync feature enabled: No

Robolectric version: 4.3.1

Powermock version: 4.1.6.6

Android Studio version: N/A

Android Build Tools version: N/A

Gradle version: N/A

Which Android version and device(s): N/A

nhachicha commented 4 years ago

How did you run this test (ExampleActivityTest)?

rorbech commented 4 years ago

Closed due to inactivity. Feel free to reopen with recent information if needed.