でエスプレッソの依存関係は、私は私のAndroidのプロジェクトでは、以下のGradleの構成を有する:のAndroidメーカー:Gradleの
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
}
}
apply plugin: 'com.android.application'
dependencies {
repositories {
jcenter()
google()
}
compile fileTree(include: '*.jar', dir: 'libs')
compile 'com.android.support:support-v4:25.4.0'
androidTestCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support.test.espresso:espresso-core:3.0.0'
}
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
buildTypes {
debug {
debuggable true
applicationIdSuffix ".debug"
}
}
defaultConfig {
jackOptions {
enabled true
}
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
は、私はAndroidのスタジオ録音機能を経由してエスプレッソテストを記録してUIテストを作り始めたいです。その後、テストクラスファイルを保存するときに、インポートの一部が解決されなかったことに気付きました。
Error:(17, 8) The import org.junit cannot be resolved
Error:(19, 15) The import android.support.test cannot be resolved
あなたが見ることができるように、私が直接JUnitの依存関係を追加、なぜないアンドロイドスタジオやGradleのは、JUnitのライブラリを参照してくださいでしょうか?
これは私のDEPツリーです:
androidTestCompile - Classpath for compiling the androidTest sources.
+--- junit:junit:4.12
| \--- org.hamcrest:hamcrest-core:1.3
\--- com.android.support.test.espresso:espresso-core:3.0.0
+--- com.android.support.test:runner:1.0.0
| +--- com.android.support:support-annotations:25.4.0
| +--- junit:junit:4.12 (*)
| \--- net.sf.kxml:kxml2:2.3.0
+--- com.android.support.test:rules:1.0.0
| \--- com.android.support.test:runner:1.0.0 (*)
+--- com.android.support.test.espresso:espresso-idling-resource:3.0.0
+--- com.squareup:javawriter:2.1.1
+--- javax.inject:javax.inject:1
+--- org.hamcrest:hamcrest-library:1.3
| \--- org.hamcrest:hamcrest-core:1.3
+--- org.hamcrest:hamcrest-integration:1.3
| \--- org.hamcrest:hamcrest-library:1.3 (*)
\--- com.google.code.findbugs:jsr305:2.0.1
そして、私のソースフォルダは、次のように構成されています。私が見つけたとおり、あなたの助け
実際の依存関係のツリーを調べるには、この質問を参照してください。https://stackoverflow.com/questions/21645071/using-gradle-to-find-dependency-tree –
@IvanProninは、私がjunit 4.12を持っていることを確認しました。木。私はbuild.gradle 'androidTestCompile 'junit:junit:4.12''への依存関係を余儀なくさえしました。 –
'instrumentTest.setRoot( 'tests')とは何ですか?それを削除するとどうなりますか? –