簡體   English   中英

在代理后面的IDEA中運行Robolectric

[英]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.offlinerobolectric.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM