前言
在Android Studio中,通常在第一次使用Robolectric时,需要下载一些依赖库,log中可以看到类似如下信息:
Downloading: org/robolectric/android-all/4.1.2_r1-robolectric-0/android-all-4.1.2_r1-robolectric-0.jarfromrepository sonatypeathttps://oss.sonatype.org/content/groups/public/Transferring30702Kfromsonatype
意思就是要先下一些库做准备,但是其下载速度简直慢得令人发指!究其原因不外乎就是oss.sonatype.org的服务器在其它国家,所以马上能联想到修改仓库的地址应该就能解决问题。
经过本人多次尝试,最后从Robolectric的源码中找到最简单的解决方案,其余方法就不再赘述,直接上干货!
解决方案——把oss.sonatype.org改成阿里云的仓库
1.先把电脑上的.m2\repository\org\robolectric\中未下载完的东西删完,因为里面可能有pom配置文件,里面的配置指向的oss.sonatype.org,不删的话可能还是会从它那儿下。我的路径如下:
C:\Users\zyr\ .m2\repository\org\robolectric
2.删掉之前没下完的文件后,自定义TestRunner:
public class CustomRobolectricTestRunner extends RobolectricTestRunner {
public CustomRobolectricTestRunner(Class<?> testClass) throws InitializationError {
super(testClass);
RoboSettings.setMavenRepositoryId("alimaven");
RoboSettings.setMavenRepositoryUrl("http://maven.aliyun.com/nexus/content/groups/public/");
}
}
3.自定义完成后,直接使用自定义的TestRunner:
@Config(manifest = Config.NONE)
@RunWith(CustomRobolectricTestRunner.class)
public class MyTest {
@Test
public void test() {
System.out.println("test");
}
}
4.写好测试用例后,直接运行,速度快到飞起!!
小结
阅读源码往往能解决很多问题,虽然这个过程会花费大量的时间,但通常都是值得的。
原创作者/ZYRzyr
原文链接:http://www.jianshu.com/p/06e6b5633054
请进入这里获取授权:https://101709080007647.bqy.mobi