我正在为一个使用multi dex的项目配置Robolectric。我使用的是Robolectric 3.0 RC3,应该支持Multidex而不会抛出“Multi dex installation failed”的异常。
testCompile('org.robolectric:robolectric:3.0-rc3')
我的样例测试位于src/test/java/SandwichTest:
@RunWith(RobolectricGradleTestRunner.class)
public class SandwichTest {
@Test
public void firstTest() { }
}
我有一个全局配置文件叫做robolectric.properties,用于在src/test/resources中加载ShadowMultiDex,根据Robolectric网站的说明。请注意,不要删除html标签。
shadows=org.robolectric.shadows.ShadowMultiDex
当我运行我的示例SandwichTest时,我遇到了此异常:
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类。尝试手动将影子多DEX模块添加到我的gradle文件中:
testCompile('org.robolectric:shadows-multidex:3.0-SNAPSHOT')
或者
testCompile('org.robolectric:shadows-multidex')
同步过程中可能会出现“无法解析”的问题。
我错过了哪些步骤才能运行这个示例测试?