robolectric依存ライブラリダウンロードピットレコード
3922 ワード
robolectric依存ライブラリダウンロード各種踏み穴。。。
1.gradlew test運転ユニットのテスト例のエラーは以下の通りである:org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException
com.tencent.next.MainActivityTest > testActivity FAILED
org.apache.tools.ant.BuildException
Caused by: org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException
追加–infoパラメータは、特定のエラー情報を表示し、依存ライブラリファイルのダウンロードに失敗したことを示します.接続がタイムアウトし、70%の進捗状況に詰まっているかどうかを示します.
com.tencent.next.MainActivityTest > testActivity STANDARD_OUT
[WARNING] Unable to get resource 'org.robolectric:android-all:jar:5.0.0_r2-robolectric-1' from repository central (http://repo1.maven.org/maven2): Error transferring file: Connection timed out: conne
ct
com.tencent.next.MainActivityTest > testActivity STANDARD_ERROR
Downloading: org/robolectric/shadows-core-v21/3.1.4/shadows-core-v21-3.1.4.jar from repository sonatype at https://oss.sonatype.org/content/groups/public/
Error transferring file: Connection timed out: connect
com.tencent.next.MainActivityTest > testActivity STANDARD_OUT
[WARNING] Unable to get resource 'org.robolectric:shadows-core-v21:jar:3.1.4' from repository sonatype (https://oss.sonatype.org/content/groups/public/): Error transferring file: Connection timed out
: connect
解決プロセス:
testOptions {
unitTests.all {
systemProperty 'robolectric.offline', 'true'
systemProperty 'robolectric.dependency.dir', 'C:\\Users\\cicichang\\.gradle\\caches\\modules-2\\files-2.1\\org.robolectric\\android-all\\5.0.0_r2-robolectric-1\\7c63cd7aeb55d63e3e208b77882831c7ac588ed8'
}
}
robolectric.offline//trueに設定jarパッケージの動的取得robolectricを閉じます.dependency.dir//offlineモードの場合、実行時依存robolectricを含むフォルダを指定します.enabledSdks//カンマで区切られたsdklevelまたは名前のリストは、プロセスで使用可能であり、実行時にリストで指定されたsdkのみをテストします.デフォルトでは、すべてのsdkが使用可能なrobolectricです.dependency.repo.id//実行時依存にmaven依存ライブラリのid(デフォルトはsonatype)robolectricを設定.dependency.repo.url//mavenライブラリurlの設定(デフォルト)https://oss.sonatype.org/content/groups/public/) rebolectric.logging.enabled//trueに設定してデフォルトのlogging 6を開きます.gradlw testの実行に成功しました
付録:1.在build.gradleでの構成
dependencies {
testImplementation "org.robolectric:robolectric:$rootProject.ext.robolectricVersion"
testImplementation "org.robolectric:robolectric-annotations:$rootProject.ext.robolectricVersion"
testImplementation:org.robolectric:android-all:5.0.0_r2-robolectric-1'
testImplementation "org.robolectric:robolectric-annotations:$rootProject.ext.robolectricVersion"
testImplementation "org.robolectric:shadows-support-v4:$rootProject.ext.robolectricVersion"
}
robolectricVersionはルートディレクトリのbuild.gradleでの構成
ext {
robolectricVersion = '3.1.4'
}
注意:testImplementation:org.robolectric:android-all:5.0.0_r 2-robolectric-1'ここで指定しない場合、依存するsdkバージョン番号も@Config(constants=BuildConfig.class,sdk=21)で指定できます.
参照先:https://www.jianshu.com/p/3ccf867784fc http://robolectric.org/