web-dev-qa-db-ja.com

Android Studio Instrumentation Testingビルドバリアント

したがって、カスタムビルドバリアントであるモックを使用して、インストルメンテーションテストを記述しようとしています。このビルドバリアントでは、クラスとサーバーをモックアップしました。自分でモックビルドを使用しようとすると、正常に動作しますが、モックビルドをテストに使用できないようです。 Android Studio内での私の構成は次のようになります。

Build Variants

テストを実行する際に問題が発生したため、モックバージョンを除くすべてのバージョンのアプリをアンインストールしようとしましたが、このエラーが発生し続けます。

テストの実行が開始されましたテストの実行に失敗しました:インストルメンテーションターゲットパッケージが見つかりません:com.teamtreehouse.review.debug

ただし、デバッグビルドバリアントに対してテストを実行しようとすると、正常に機能します。デバッグバージョンをインストールしてから、テストの実行に進みます。

23
MrEngineer13

あなたは別のビルドバリアントでテストを行うことができます。 1つだけです。デフォルトはデバッグです。

これを参照してください: https://developer.Android.com/studio/build/gradle-tips#change-the-test-build-type

現在、1つのビルドタイプのみがテストされています。デフォルトではデバッグビルドタイプですが、次のように再構成できます。

Android {
    ...
    testBuildType "staging"
}
59
sunilr

AFAIK androidTestは、デバッグのbuildTypeに対してのみ機能します。

ビルドフレーバーを使用して、好きなことを行うことができます。良い例はここにあります https://www.code-labs.io/codelabs/Android-testing/#

7
zmarkan

または、次のようにtestBuildTypeを構成して、コマンドラインからそれぞれのプロパティを指定してandroidTestのビルドタイプを実行するように決定できます。

Android {   
    ...

    if (project.hasProperty('androidTestRelease')) {
        testBuildType 'release'
    } else if (project.hasProperty('androidTestStaging')) {
        testBuildType 'staging'
    } else {
        testBuildType 'debug'
    }
    ...
}

コマンドラインから

./gradlew connectedCheck -PandroidTestStaging 
5
shizhen