テストに Robolectric を使用する Android プロジェクトがあります。build.gradle の関連部分は次のようになります。
apply plugin: 'robolectric'
robolectric {
include '**/*Test.class'
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile 'org.hamcrest:hamcrest-integration:1.1'
androidTestCompile 'org.hamcrest:hamcrest-core:1.1'
androidTestCompile 'org.hamcrest:hamcrest-library:1.1'
androidTestCompile('junit:junit:4.12') {
exclude module: 'hamcrest-core'
}
androidTestCompile('org.robolectric:robolectric:2.4') {
exclude module: 'classworlds'
exclude module: 'commons-logging'
exclude module: 'httpclient'
exclude module: 'maven-artifact'
exclude module: 'maven-artifact-manager'
exclude module: 'maven-error-diagnostics'
exclude module: 'maven-model'
exclude module: 'maven-project'
exclude module: 'maven-settings'
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-provider-api'
}
androidTestCompile 'com.android.support:support-v4:21.0.3'
}
すべての Robolectric テストは にありsrc/androidTest/java/my/package/*Test.java
ます。これはすべて完璧に機能しています。通常の Gradle ビルドの一部として、または IntelliJ の JUnit GUI を介してテストを実行できます。
ここで、Robolectric を使用できず、実際の Android デバイスで実行する必要があるいくつかのテストを追加する必要があります。Robolectric テストで既にバリアントを使用する必要がある場合、androidTest
このプロジェクトにインストルメント化されたテストを追加し、Robolectric テストをデバイスなしで実行できるようにするにはどうすればよいですか?