运行 Android 测试 Robolectric - 依赖错误
Run Android test with Robolectric - dependency error
我正在使用 Android Studio 1.2 和 Windows 7
当 运行 进行 robolectric 测试时 example:
@RunWith(CustomRobolectricRunner.class)
@Config(emulateSdk = 21, reportSdk = 21, constants = BuildConfig.class)
public class PasswordProviderTest{
@Test
public void testGetPassword() throws Exception {
Activity activity = Robolectric.setupActivity(LoginActivity.class);
}
@Test
public void testSetPassword() throws Exception {
}
}
测试结果或更多错误堆栈跟踪:
Unable to resolve artifact: Unable to get dependency information: Unable to read the metadata file for artifact 'org.robolectric:android-all:jar': Cannot find parent: org.sonatype.oss:oss-parent for project: org.robolectric:android-all:jar:5.0.0_r2-robolectric-1 for project org.robolectric:android-all:jar:5.0.0_r2-robolectric-1
org.robolectric:android-all:jar:5.0.0_r2-robolectric-1
from the specified remote repositories:
sonatype (https://oss.sonatype.org/content/groups/public/),
central (http://repo1.maven.org/maven2)
Path to dependency:
1) org.apache.maven:super-pom:pom:2.0
at org.apache.maven.artifact.ant.DependenciesTask.doExecuteResolution(DependenciesTask.java:268)
at org.apache.maven.artifact.ant.DependenciesTask.doExecute(DependenciesTask.java:168)
at org.apache.maven.artifact.ant.AbstractArtifactTask.execute(AbstractArtifactTask.java:751)
at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:40)
at org.robolectric.internal.dependency.CachedDependencyResolver.getLocalArtifactUrls(CachedDependencyResolver.java:42)
at org.robolectric.RobolectricTestRunner.createRobolectricClassLoader(RobolectricTestRunner.java:151)
at org.robolectric.RobolectricTestRunner.createSdkEnvironment(RobolectricTestRunner.java:122)
at org.robolectric.RobolectricTestRunner.create(RobolectricTestRunner.java:285)
at org.robolectric.internal.EnvHolder.getSdkEnvironment(EnvHolder.java:18)
at org.robolectric.RobolectricTestRunner.getEnvironment(RobolectricTestRunner.java:283)
at org.robolectric.RobolectricTestRunner.access0(RobolectricTestRunner.java:50)
at org.robolectric.RobolectricTestRunner.evaluate(RobolectricTestRunner.java:193)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access[=14=]0(ParentRunner.java:58)
at org.junit.runners.ParentRunner.evaluate(ParentRunner.java:268)
at org.robolectric.RobolectricTestRunner.evaluate(RobolectricTestRunner.java:168)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:86)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:69)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:105)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360)
at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl.run(DefaultExecutorFactory.java:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.maven.artifact.resolver.ArtifactResolutionException: Unable to get dependency information: Unable to read the metadata file for artifact 'org.robolectric:android-all:jar': Cannot find parent: org.sonatype.oss:oss-parent for project: org.robolectric:android-all:jar:5.0.0_r2-robolectric-1 for project org.robolectric:android-all:jar:5.0.0_r2-robolectric-1
org.robolectric:android-all:jar:5.0.0_r2-robolectric-1
from the specified remote repositories:
sonatype (https://oss.sonatype.org/content/groups/public/),
central (http://repo1.maven.org/maven2)
Path to dependency:
1) org.apache.maven:super-pom:pom:2.0
at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:430)
at org.apache.maven.artifact.resolver.DefaultArtifactCollector.collect(DefaultArtifactCollector.java:74)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:316)
at org.apache.maven.artifact.ant.DependenciesTask.doExecuteResolution(DependenciesTask.java:263)
... 46 more
Caused by: org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException: Unable to read the metadata file for artifact 'org.robolectric:android-all:jar': Cannot find parent: org.sonatype.oss:oss-parent for project: org.robolectric:android-all:jar:5.0.0_r2-robolectric-1 for project org.robolectric:android-all:jar:5.0.0_r2-robolectric-1
at org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedProject(MavenMetadataSource.java:200)
at org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedArtifact(MavenMetadataSource.java:94)
at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:387)
... 49 more
Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find parent: org.sonatype.oss:oss-parent for project: org.robolectric:android-all:jar:5.0.0_r2-robolectric-1 for project org.robolectric:android-all:jar:5.0.0_r2-robolectric-1
at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1396)
at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:823)
at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromRepository(DefaultMavenProjectBuilder.java:255)
at org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedProject(MavenMetadataSource.java:163)
... 51 more
Caused by: org.apache.maven.project.ProjectBuildingException: POM 'org.sonatype.oss:oss-parent' not found in repository: Unable to download the artifact from any repository
org.sonatype.oss:oss-parent:pom:7
from the specified remote repositories:
sonatype (https://oss.sonatype.org/content/groups/public/),
central (http://repo1.maven.org/maven2)
for project org.sonatype.oss:oss-parent
at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:605)
at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1392)
... 54 more
Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: Unable to download the artifact from any repository
org.sonatype.oss:oss-parent:pom:7
from the specified remote repositories:
sonatype (https://oss.sonatype.org/content/groups/public/),
central (http://repo1.maven.org/maven2)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:228)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:90)
at org.apache.maven.pr
oject.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:558)
... 55 more
Caused by: org.apache.maven.wagon.ResourceDoesNotExistException: Unable to download the artifact from any repository
at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifact(DefaultWagonManager.java:404)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:216)
... 57 more
gradle 构建依赖项:
testCompile 'junit:junit:4.12'
testCompile "org.mockito:mockito-core:1.9.5"
testCompile 'org.apache.maven:maven-ant-tasks:2.1.3'
testCompile "org.robolectric:robolectric:3.0-rc2"
我发现 robolectric 尝试获取的资源不可用。当跟随 url 时,它会尝试获取它:https://oss.sonatype.org/content/groups/public/org/sonatype/oss/oss-parent/
没有oss 7. 为什么robolectrics 试图获取不存在的资源?以及如何让它发挥作用?
这似乎是代理问题。在代理后面时,您必须在 {userHome}/.m2/settings.xml
指定 maven 的代理设置
我的 settings.xml 现在看起来像:
<settings>
<proxies>
<proxy>
<active>true</active>
<host>proxy.host</host>
<port>3128</port>
</proxy>
</proxies>
</settings>
以下无效!!
<settings>
<proxies>
<proxy>
<id>proxy-https</id>
<active>true</active>
<protocol>https</protocol>
<host>proxy.host</host>
<port>3128</port>
</proxy>
<proxy>
<id>proxy-http</id>
<active>true</active>
<protocol>http</protocol>
<host>proxy.host</host>
<port>3128</port>
</proxy>
</proxies>
</settings>
我已经能够通过覆盖 Robolectric Maven 存储库 URL 来解决同样的问题。
Sonatype 由于某种原因不可用,Maven Central 从 2020 年 1 月 15 日开始迁移到 HTTPS。因此,我决定使用 Maven Central URL 但采用安全方案。
编辑 Robolectric RoboSettings class 使用的系统 属性 允许我使用不同的 URL.
android {
testOptions {
unitTests.all {
systemProperty 'robolectric.dependency.repo.url', 'https://repo1.maven.org/maven2'
}
}
}
我在 运行 使用 JRE 11 进行 Robolectric 测试时遇到了这个错误。
转到 Run/Debug 配置并将其更改为 JRE 1.8 可能会解决您的问题。
第一步:
Run/Debug Configurations
第 2 步:
Change JRE
我正在使用 Android Studio 1.2 和 Windows 7
当 运行 进行 robolectric 测试时 example:
@RunWith(CustomRobolectricRunner.class)
@Config(emulateSdk = 21, reportSdk = 21, constants = BuildConfig.class)
public class PasswordProviderTest{
@Test
public void testGetPassword() throws Exception {
Activity activity = Robolectric.setupActivity(LoginActivity.class);
}
@Test
public void testSetPassword() throws Exception {
}
}
测试结果或更多错误堆栈跟踪:
Unable to resolve artifact: Unable to get dependency information: Unable to read the metadata file for artifact 'org.robolectric:android-all:jar': Cannot find parent: org.sonatype.oss:oss-parent for project: org.robolectric:android-all:jar:5.0.0_r2-robolectric-1 for project org.robolectric:android-all:jar:5.0.0_r2-robolectric-1
org.robolectric:android-all:jar:5.0.0_r2-robolectric-1
from the specified remote repositories:
sonatype (https://oss.sonatype.org/content/groups/public/),
central (http://repo1.maven.org/maven2)
Path to dependency:
1) org.apache.maven:super-pom:pom:2.0
at org.apache.maven.artifact.ant.DependenciesTask.doExecuteResolution(DependenciesTask.java:268)
at org.apache.maven.artifact.ant.DependenciesTask.doExecute(DependenciesTask.java:168)
at org.apache.maven.artifact.ant.AbstractArtifactTask.execute(AbstractArtifactTask.java:751)
at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:40)
at org.robolectric.internal.dependency.CachedDependencyResolver.getLocalArtifactUrls(CachedDependencyResolver.java:42)
at org.robolectric.RobolectricTestRunner.createRobolectricClassLoader(RobolectricTestRunner.java:151)
at org.robolectric.RobolectricTestRunner.createSdkEnvironment(RobolectricTestRunner.java:122)
at org.robolectric.RobolectricTestRunner.create(RobolectricTestRunner.java:285)
at org.robolectric.internal.EnvHolder.getSdkEnvironment(EnvHolder.java:18)
at org.robolectric.RobolectricTestRunner.getEnvironment(RobolectricTestRunner.java:283)
at org.robolectric.RobolectricTestRunner.access0(RobolectricTestRunner.java:50)
at org.robolectric.RobolectricTestRunner.evaluate(RobolectricTestRunner.java:193)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access[=14=]0(ParentRunner.java:58)
at org.junit.runners.ParentRunner.evaluate(ParentRunner.java:268)
at org.robolectric.RobolectricTestRunner.evaluate(RobolectricTestRunner.java:168)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:86)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:69)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:105)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360)
at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl.run(DefaultExecutorFactory.java:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.maven.artifact.resolver.ArtifactResolutionException: Unable to get dependency information: Unable to read the metadata file for artifact 'org.robolectric:android-all:jar': Cannot find parent: org.sonatype.oss:oss-parent for project: org.robolectric:android-all:jar:5.0.0_r2-robolectric-1 for project org.robolectric:android-all:jar:5.0.0_r2-robolectric-1
org.robolectric:android-all:jar:5.0.0_r2-robolectric-1
from the specified remote repositories:
sonatype (https://oss.sonatype.org/content/groups/public/),
central (http://repo1.maven.org/maven2)
Path to dependency:
1) org.apache.maven:super-pom:pom:2.0
at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:430)
at org.apache.maven.artifact.resolver.DefaultArtifactCollector.collect(DefaultArtifactCollector.java:74)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:316)
at org.apache.maven.artifact.ant.DependenciesTask.doExecuteResolution(DependenciesTask.java:263)
... 46 more
Caused by: org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException: Unable to read the metadata file for artifact 'org.robolectric:android-all:jar': Cannot find parent: org.sonatype.oss:oss-parent for project: org.robolectric:android-all:jar:5.0.0_r2-robolectric-1 for project org.robolectric:android-all:jar:5.0.0_r2-robolectric-1
at org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedProject(MavenMetadataSource.java:200)
at org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedArtifact(MavenMetadataSource.java:94)
at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:387)
... 49 more
Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find parent: org.sonatype.oss:oss-parent for project: org.robolectric:android-all:jar:5.0.0_r2-robolectric-1 for project org.robolectric:android-all:jar:5.0.0_r2-robolectric-1
at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1396)
at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:823)
at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromRepository(DefaultMavenProjectBuilder.java:255)
at org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedProject(MavenMetadataSource.java:163)
... 51 more
Caused by: org.apache.maven.project.ProjectBuildingException: POM 'org.sonatype.oss:oss-parent' not found in repository: Unable to download the artifact from any repository
org.sonatype.oss:oss-parent:pom:7
from the specified remote repositories:
sonatype (https://oss.sonatype.org/content/groups/public/),
central (http://repo1.maven.org/maven2)
for project org.sonatype.oss:oss-parent
at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:605)
at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1392)
... 54 more
Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: Unable to download the artifact from any repository
org.sonatype.oss:oss-parent:pom:7
from the specified remote repositories:
sonatype (https://oss.sonatype.org/content/groups/public/),
central (http://repo1.maven.org/maven2)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:228)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:90)
at org.apache.maven.pr
oject.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:558)
... 55 more
Caused by: org.apache.maven.wagon.ResourceDoesNotExistException: Unable to download the artifact from any repository
at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifact(DefaultWagonManager.java:404)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:216)
... 57 more
gradle 构建依赖项:
testCompile 'junit:junit:4.12'
testCompile "org.mockito:mockito-core:1.9.5"
testCompile 'org.apache.maven:maven-ant-tasks:2.1.3'
testCompile "org.robolectric:robolectric:3.0-rc2"
我发现 robolectric 尝试获取的资源不可用。当跟随 url 时,它会尝试获取它:https://oss.sonatype.org/content/groups/public/org/sonatype/oss/oss-parent/
没有oss 7. 为什么robolectrics 试图获取不存在的资源?以及如何让它发挥作用?
这似乎是代理问题。在代理后面时,您必须在 {userHome}/.m2/settings.xml
指定 maven 的代理设置我的 settings.xml 现在看起来像:
<settings>
<proxies>
<proxy>
<active>true</active>
<host>proxy.host</host>
<port>3128</port>
</proxy>
</proxies>
</settings>
以下无效!!
<settings>
<proxies>
<proxy>
<id>proxy-https</id>
<active>true</active>
<protocol>https</protocol>
<host>proxy.host</host>
<port>3128</port>
</proxy>
<proxy>
<id>proxy-http</id>
<active>true</active>
<protocol>http</protocol>
<host>proxy.host</host>
<port>3128</port>
</proxy>
</proxies>
</settings>
我已经能够通过覆盖 Robolectric Maven 存储库 URL 来解决同样的问题。
Sonatype 由于某种原因不可用,Maven Central 从 2020 年 1 月 15 日开始迁移到 HTTPS。因此,我决定使用 Maven Central URL 但采用安全方案。
编辑 Robolectric RoboSettings class 使用的系统 属性 允许我使用不同的 URL.
android {
testOptions {
unitTests.all {
systemProperty 'robolectric.dependency.repo.url', 'https://repo1.maven.org/maven2'
}
}
}
我在 运行 使用 JRE 11 进行 Robolectric 测试时遇到了这个错误。
转到 Run/Debug 配置并将其更改为 JRE 1.8 可能会解决您的问题。
第一步: Run/Debug Configurations
第 2 步: Change JRE