前言
在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.lxweimin.com/p/06e6b5633054
請進入這里獲取授權:https://101709080007647.bqy.mobi