我使用的是Android Studio 1.2和Windows 7
在此example之后运行robolectric测试时:
testCompile 'junit:junit:4.12'
testCompile "org.mockito:mockito-core:1.9.5"
testCompile 'org.apache.maven:maven-ant-tasks:2.1.3'
testCompile "org.robolectric:robolectric:3.0-rc2"
测试结果或更多错误堆栈跟踪:
$(document).ready(function(){
$("#menu-top li").click(function(){
$(this).find('a').click();
});
});
gradle构建依赖项:
14157.72,39140.94,36383.66,38508.00,8424.00
我发现资源,robolectric试图得到,是不可用的。当关注网址时,它会尝试获取它:https://oss.sonatype.org/content/groups/public/org/sonatype/oss/oss-parent/
没有oss 7.为什么robolectrics试图获得不存在的资源?以及如何让它发挥作用?
答案 0 :(得分:5)
这似乎是一个代理问题。在代理后面,您必须在{userHome} /.m2 / settings.xml
指定maven的代理设置我的settings.xml现在看起来像:
<settings>
<proxies>
<proxy>
<active>true</active>
<host>proxy.host</host>
<port>3128</port>
</proxy>
</proxies>
</settings>
下面没有工作!!
<settings>
<proxies>
<proxy>
<id>proxy-https</id>
<active>true</active>
<protocol>https</protocol>
<host>proxy.host</host>
<port>3128</port>
</proxy>
<proxy>
<id>proxy-http</id>
<active>true</active>
<protocol>http</protocol>
<host>proxy.host</host>
<port>3128</port>
</proxy>
</proxies>
</settings>
答案 1 :(得分:0)
我已经能够通过覆盖Robolectric Maven存储库URL来解决同一问题。
由于某些原因,Sonatype不可用,Maven Central从2020年1月15日开始使用HTTPS。因此,我决定使用Maven Central URL,但要采用安全方案。
编辑Robolectric RoboSettings类使用的系统属性使我可以使用其他URL。
android {
testOptions {
unitTests.all {
systemProperty 'robolectric.dependency.repo.url', 'https://repo1.maven.org/maven2'
}
}
}