[英]Run Robolectric in IDEA behind the proxy
我有企業環境,所有http和https調用都在代理后面。
通過將http_proxy環境變量導出到.profile文件中,我能夠解決命令行下載的一些問題。
但是在第一次運行之前下載Android源代碼或類的Robolectric 2.2我失敗了。 我還沒有CI設置,所以我只是想從想法中運行測試。
有誰知道熱修復它?
我試圖在IDEA設置中提供代理,我試圖在運行配置中提供額外的環境變量。 什么都沒有幫助
UPD當我在Mac設置中指定代理時,它產生另一個錯誤: 無法在存儲庫sonatype中找到資源'org.sonatype.oss:oss-parent:pom:7'( https://oss.sonatype.org/content/groups / public / )
看起來我可能正在使用或缺少Robolectirc錯誤的傳遞依賴(我不使用maven或常春藤,我剛從maven中心下載了罐子)
UPD2沒有 ,它只是暫停: 傳輸文件時出錯:操作超時
我知道這有點舊問題,但是如果你想使用代理,你應該將以下文件放在你的home / .m2目錄中:
的settings.xml
<settings>
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>your_host_here</host>
<port>your_port_here</port>
</proxy>
</proxies>
</settings>
有關gradle的信息,請訪問https://docs.gradle.org/current/userguide/build_environment.html
為舊問題添加另一個遲到的答案:)由於Robolectric 2.4引入了兩個屬性來幫助您在CI中運行的Robolectric測試在代理服務器后運行:
您必須在build.gradle文件中指定robolectric.offline
和robolectric.dependency.dir
。 像這樣的東西:
afterEvaluate {
project.tasks.withType(Test) {
systemProperties.put('robolectric.offline', 'true')
systemProperties.put('robolectric.dependency.dir', "${project.rootDir}/.robolectric/")
}
}
然后你需要從maven或sonatype下載必要的jar並將它放在你指定的目錄中...
我寫了一篇博文 ,內容更詳細。
如果這有助於某人。 在settings.xml中設置代理(我嘗試了這個文件的兩個可能路徑)對我來說不起作用。 我最終將其作為gradle參數傳遞: gradle cleanTest test -Dhttps.proxyHost=<proxy-host> -Dhttps.proxyPort=<proxy-port>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.