Android Studio에서 Robolectric과 Android 계측을 동시에 사용할 수 있습니까?Android Studio에서 Robolectric과 Android 계측을 동시에 사용할 수 있습니까?
아무도이 물건을 어떻게 수행하는지에 관해 말해 줄 수 있습니까? 동시에 robolectric 및 Android 계측을위한 테스트 프로젝트를 가지고 있습니까?
Android Studio에서 Robolectric과 Android 계측을 동시에 사용할 수 있습니까?Android Studio에서 Robolectric과 Android 계측을 동시에 사용할 수 있습니까?
아무도이 물건을 어떻게 수행하는지에 관해 말해 줄 수 있습니까? 동시에 robolectric 및 Android 계측을위한 테스트 프로젝트를 가지고 있습니까?
하나의 프로젝트에서 두 가지 테스트를 실행하고 있습니다.
apply plugin: 'android'
apply plugin: 'android-test'
android {
compileSdkVersion 19
buildToolsVersion "19.0.3"
defaultConfig {
minSdkVersion 19
targetSdkVersion 19
versionCode 1
versionName "1.0"
testInstrumentationRunner "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
// tell Android studio that the instrumentTest source set is located in the unit test source set
sourceSets {
androidTest {
setRoot('src/test')
}
}
packagingOptions {
exclude 'LICENSE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE'
}
lintOptions{
abortOnError false
}
}
androidTest {
include '**/*Test.class'
exclude '**/espresso/*/*.class'
}
dependencies {
compile 'com.android.support:support-v4:19.+'
compile fileTree(dir: 'lib', include: ['*.jar'])
// Espresso
androidTestCompile files('lib/espresso-1.1.jar', 'lib/testrunner-1.1.jar', 'lib/testrunner-runtime-1.1.jar')
androidTestCompile 'com.google.guava:guava:14.0.1',
'com.squareup.dagger:dagger:1.1.0',
'org.hamcrest:hamcrest-integration:1.1',
'org.hamcrest:hamcrest-core:1.1',
'org.hamcrest:hamcrest-library:1.1'
androidTestCompile('junit:junit:4.11') {
exclude module: 'hamcrest-core'
}
androidTestCompile('org.robolectric:robolectric:2.3-SNAPSHOT') {
exclude module: 'classworlds'
exclude module: 'maven-artifact'
exclude module: 'maven-artifact-manager'
exclude module: 'maven-error-diagnostics'
exclude module: 'maven-model'
exclude module: 'maven-plugin-registry'
exclude module: 'maven-profile'
exclude module: 'maven-project'
exclude module: 'maven-settings'
exclude module: 'nekohtml'
exclude module: 'plexus-container-default'
exclude module: 'plexus-interpolation'
exclude module: 'plexus-utils'
exclude module: 'wagon-file'
exclude module: 'wagon-http-lightweight'
exclude module: 'wagon-http-shared'
exclude module: 'wagon-provider-api'
}
androidTestCompile 'com.squareup:fest-android:1.0.+'
}
apply plugin: 'idea'
idea {
module {
testOutputDir = file('build/test-classes/debug')
}
}
가이 설정을 달성하기 위해 서로 다른 접근 방식이 있습니다
는 gradle connectedCheck
이 내 build.gradle 파일입니다으로 에스프레소 테스트를 실행 gradle test
으로 Robolectrics 테스트를 실행합니다. 가장 인기있는 것은 robolectric 친구들이보고합니다. 그러나 나는 의존성 오염 때문에 그들의 해결책을 싫어한다. 자세한 내용은 다음 게시물을 참조하십시오. Android project with Robolectric and Gradle (Android studio)