Gradle TestKit フィクスチャでプロキシプロパティを設定する
その別ビルドを実行する前にフィクスチャルートの gradle.properties を設定し、上書きと分離されたユーザーホームを明示的に確認します。
new File(fixtureDir, 'gradle.properties').text = """systemProp.http.proxyHost=proxy.example
systemProp.http.proxyPort=8080
systemProp.https.proxyHost=proxy.example
systemProp.https.proxyPort=8080
"""
def result = GradleRunner.create()
.withProjectDir(fixtureDir)
.withArguments('assemble')
.build()withProjectDir が選択する既存のフィクスチャディレクトリを、その build/settings ファイルとともに使います。プロキシプロパティはフィクスチャが既に必要とするものと統合し、プロキシのホストとポートは別々に保ちます。許可された公開リポジトリのダウンロードには、HTTP プロキシ一覧 がそれらのプロパティの候補を提供します。
プラグインの外側のビルドが成功しても、この機能テストのビルドは失敗することがあります。テストクラスをインポートしても外側の gradle.properties はコピーされず、JUnit JVM 上のプロパティだけでは別ビルドの入力を表しません。
TestKit は既定で分離された Gradle ユーザーホームを使うため、開発者の通常のプライベートプロパティが存在しないことがあります。逆に、コマンドラインの -D やユーザーホームのプロパティがフィクスチャのエントリを上書きできます。
これは Gradle リポジトリへのリクエストを構成します。別のダウンローダを起動する、あるいは独自の HTTP トランスポートを持つプラグインは別の経路を必要とすることがあります。