Android Robolectric-无法加载类:org.roblectric.shadows.ShadowMultiDex

Android Robolectric-无法加载类:org.roblectric.shadows.ShadowMultiDex,android,unit-testing,robolectric,Android,Unit Testing,Robolectric,我正在为一个使用多索引的项目配置Robolectric。我使用的是Robolectric 3.0 RC3,它应该支持Multidex,而不会引发“Multi-dex安装失败”异常 testCompile('org.robolectric:robolectric:3.0-rc3') 我的示例测试在src/test/java/SandwichTest中: @RunWith(RobolectricGradleTestRunner.class) public class SandwichTest {

我正在为一个使用多索引的项目配置Robolectric。我使用的是Robolectric 3.0 RC3,它应该支持Multidex,而不会引发“Multi-dex安装失败”异常

testCompile('org.robolectric:robolectric:3.0-rc3')
我的示例测试在src/test/java/SandwichTest中:

@RunWith(RobolectricGradleTestRunner.class)
public class SandwichTest {
  @Test
  public void firstTest() { }
}
我在src/test/resources中有一个全局配置文件来加载ShadowMultiDex,该文件名为roblectric.properties,具体说明如下:

当我运行示例三明治测试时,出现以下异常:

Could not load class: org.robolectric.shadows.ShadowMultiDex
java.lang.RuntimeException: Could not load class: org.robolectric.shadows.ShadowMultiDex
at org.robolectric.annotation.Config$Implementation.parseClass(Config.java:147)
看起来Robolectric正在查找我的配置文件,但无法加载ShadowMultiDex类。正在尝试手动将卷影多索引模块添加到我的gradle文件:

 testCompile('org.robolectric:shadows-multidex:3.0-SNAPSHOT')

导致同步期间出现“无法解决”问题


要运行此示例测试,我缺少了哪些步骤?

在您的问题中,我注意到您的
Gradle
依赖项缺少
版本

您有:

testCompile('org.robolectric:shadows-multidex')
testCompile('org.robolectric:shadows-multidex:3.0')
shadows=org.robolectric.shadows.ShadowMultiDex
您需要:

testCompile('org.robolectric:shadows-multidex')
testCompile('org.robolectric:shadows-multidex:3.0')
shadows=org.robolectric.shadows.ShadowMultiDex
实际发布:

您应该删除:

testCompile('org.robolectric:shadows-multidex')
testCompile('org.robolectric:shadows-multidex:3.0')
shadows=org.robolectric.shadows.ShadowMultiDex

从您的
src/test/resources/roblectric.properties
文件。用于自定义阴影。

testCompile('org.roblectric:Shadows multidex')
您的版本在哪里?请发布您的
build.gradle
。将该行添加到我的gradle文件会导致同步期间出错。为了共享整个build.gradle文件,我将在一个简单的Hello World应用程序中重现这个问题。抓紧!您没有向该依赖项添加版本。您是什么意思?我尝试了org.roblectric:shadows多重索引和org.roblectric:shadows多重索引:3.0-SNAPSHOT。testCompile('org.roblectric:shadows multidex:3.0')将是最好的选择。你没有在上面添加版本。而且,它看起来不可用:。不过,我在这里找到了:。谢谢你,杰瑞德!很好!干杯