2

当我运行 JUnit 测试时,它会引发以下错误:
java.lang.IllegalAccessError: tried to access field org.robolectric.annotation.Config$Builder.sdk from class org.robolectric.RobolectricTestRunner$1

似乎这里有什么问题RobolectricTestRunner.java(3.6.1)

截图

截图中的代码在robolectric-3.6.1-resources.jar

环境:

  • JUnit:4.12
  • Robolectric 3.6.1
  • Android Gradle 插件:2.3.3
  • 安卓工作室:3.0.1
  • 操作系统:MacOS 10.13.2

任何人都可以帮助我吗?谢谢

4

1 回答 1

1

最后,我弄清楚了问题所在。在 中app/build.gradle,我有以下依赖项:

testCompile 'junit:junit:4.12'
testCompile 'org.assertj:assertj-core:2.6.0'
testCompile 'org.robolectric:robolectric:3.6.1'
testCompile 'org.robolectric:shadows-multidex:3.2.2'

shadows-multidex在版本 3.2.2 中有依赖项,它有org.robolectric:robolectric-annotations:3.2.2内部的。因此,在我将shadow-multidexrobolectric 版本更改为 3.6.1 后,一切都很好!

于 2017-12-30T16:44:52.547 回答