私は使用しています:
- アンドロイド スタジオ 1.1.0
- グラドル 2.2.1
- Gradle 用 Android プラグイン: 1.1.0
最近、Android Studio に移行し、インストゥルメント テストを機能させようとしています。ただし、テストを実行すると、エラーが発生します
テストの実行中 テストの実行中 テストの実行に失敗しました: 次のインストルメンテーション情報が見つかりません: ComponentInfo{com.xxx.xxx.test/android.test.InstrumentationTestRunner} 空のテスト スイート。
ここで何が間違っているのかわかりません。以下の構成を参照してください。
アプリケーション クラス:
public class XxxApp extends MultiDexApplication
{
...
}
アプリ build.gradle
apply plugin: 'com.android.application'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.google.android.gms:play-services-base:6.5.87'
compile 'com.google.android.gms:play-services-maps:6.5.87'
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:multidex:1.0.0'
compile 'org.apache.commons:commons-lang3:3.3.2'
compile 'com.google.code.gson:gson:2.3.1'
compile 'joda-time:joda-time:2.7'
compile 'org.roboguice:roboguice:2.0'
compile project(':Common')
compile project(':zxing-lib')
androidTestCompile fileTree(dir: 'test-libs', include: '*.jar')
androidTestCompile('com.android.support:multidex-instrumentation:1.0.1') {
exclude group: 'com.android.support', module: 'multidex'
}
androidTestCompile 'com.google.dexmaker:dexmaker:1.+'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.+'
androidTestCompile 'junit:junit:4.11'
androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
androidTestCompile 'org.mockito:mockito-core:1.9.5'
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
enforceUniquePackageName false
dexOptions {
javaMaxHeapSize "4g"
}
defaultConfig {
minSdkVersion 14
targetSdkVersion 21
applicationId "com.xxx.xxx"
multiDexEnabled true
testApplicationId "com.xxx.xxx.test"
testInstrumentationRunner 'android.test.InstrumentationTestRunner'
// Does not work testInstrumentationRunner 'com.android.test.runner.MultiDexTestRunner'
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'LICENSE.txt'
}
lintOptions {
abortOnError false
checkReleaseBuilds false
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/java, tests/res, etc...
androidTest.setRoot('tests')
androidTest.java.srcDir('tests/src')
androidTest.res.srcDir('tests/res')
androidTest.assets.srcDirs('tests/assets')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
productFlavors {
}
}
テストクラス
public class XxxTests extends InstrumentationTestCase
{
public void testXxx()
{
...
}
}
トップレベルのbuild.gradle
dependencies
{
classpath 'com.android.tools.build:gradle:1.1.0+'
}