7

最近、Google から Android プロジェクトに最新のツールをインストールしました。

buildscript {
      repositories {
         jcenter()
         mavenCentral()
      }
      dependencies {
         classpath 'com.android.tools.build:gradle:1.1.0'
      }
}

allprojects {
    repositories {
        jcenter()
    }
}

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    defaultConfig {
        applicationId "com.xxx"
        minSdkVersion 10
        targetSdkVersion 21
        versionCode 200
        versionName "2.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    signingConfigs {
        debug {
            ...
        }
        release {
            ...
        }
    }
    buildTypes {
        release {
            ...
        }
        debug {
            ...
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'

    // ---- Tests with robolectric
    testCompile 'com.google.guava:guava:14.0.1'
    testCompile 'junit:junit:4.+'
    testCompile 'org.robolectric:robolectric:2.4'
    testCompile 'org.mockito:mockito-all:2.0.2-beta'

    // ---- Tests with Espresso
    androidTestCompile ('com.android.support.test.espresso:espresso-core:2.0') {
        exclude module: 'hamcrest-core'
    }
    androidTestCompile 'org.hamcrest:hamcrest-core:1.1'
    androidTestCompile 'org.hamcrest:hamcrest-integration:1.1'
    androidTestCompile 'org.hamcrest:hamcrest-library:1.1'
    androidTestCompile ('com.android.support.test:testing-support-lib:0.1') {
        exclude module: 'hamcrest-core'
    }
    androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.0'
    androidTestCompile('junit:junit-dep:4.10') {
        exclude module: 'hamcrest-core'
    }
}

それ以前はcom.github.jcandksolutions.gradle:android-unit-test:2.1.1、jvm で robolectric テストを実行していました。Google が新しいビルド ツールについて述べているように、「単体テストとして認識される新しいソース フォルダー: src/test/java、src/testDebug/java、src/testMyFlavor/java など」。しかし、以下に示すように、私のテスト フォルダーはソース フォルダーとして認識されません。では機能しましcom.github.jcandksolutions.gradle:android-unit-test:2.1.1たが、新しいビルド ツールでは機能しなくなりました。

ここに画像の説明を入力

ここで何が欠けていますか?ありがとうございました

4

4 に答える 4

6

IDE の左隅にあるテスト成果物を切り替えるという解決策を見つけました。Android ツールをダウングレードしたため、この画面では "Android Instrumentation Tests" のみを使用できますが、ツール 1.1.0+ では、IDE にソース フォルダーとして認識させるさまざまな種類のテストが表示されるはずです。

ここに画像の説明を入力

于 2015-02-26T17:56:45.330 に答える
4

Android StudioでRobolectricテストを正常に実行できたが、コマンドラインからは機能しなかったことを除いて、先日同様の問題がありました。私のために働いたのは次のとおりです。

1) 実行./gradlew clean assembleDebug test(ただの代わりにclean test)

(現在、メインパッケージからソースを見つけますが、代わりにこの問題が発生します)

2) これを build.gradle ファイルに追加しました:android.sourceSets.test.java.srcDirs += "build/generated/source/r/debug"

于 2015-02-23T10:55:29.137 に答える
3

http://tools.android.com/tech-docs/unit-testing-supportに従って、実験的な単体テストを有効にし、テスト アーティファクトを単体テストに切り替えます。次に、単体テスト フォルダーが認識されます。

さらに問題がある場合は、おそらくこれが役立ちますhttp://nenick-android.blogspot.de/2015/02/android-studio-110-beta-4-and.html

于 2015-02-22T18:42:50.283 に答える