AndroidX Test は、テストを実行できる Jetpack ライブラリのコレクションである ダウンロードされます。また、こうしたデータの作成に役立つ一連のツールも テストです。
たとえば、AndroidX Test には、アクティビティを開始し、 JUnit4 テストでそれらと相互作用します。また、UI テスト フレームワークも用意されています。 Espresso、UI Automator、Robolectric シミュレータなどがあります。
AndroidX Test ライブラリを追加する
AndroidX Test を使用するには、アプリ プロジェクトの依存関係を変更する必要があります 統合できます。
Gradle の依存関係を追加する
アプリ プロジェクトの依存関係を変更するには、次の手順を完了します。
- ステップ 1: Gradle モジュールの
build.gradle
ファイルを開きます。 - ステップ 2: [repositories] で、Google の Maven リポジトリが表示されます。
allprojects {
repositories {
jcenter()
google()
}
}
- ステップ 3: 使用する AndroidX Test パッケージごとに、パッケージを追加する
名前を
確認します。たとえば、
espresso-core
パッケージを追加するには、 次の行があります。
dependencies {
...
androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion"
}
dependencies {
...
androidTestImplementation('androidx.test.espresso:espresso-core:$espressoVersion')
}
利用可能な AndroidX Test の最も一般的な依存関係は次のとおりです。
dependencies {
// Core library
androidTestImplementation "androidx.test:core:$androidXTestVersion0"
// AndroidJUnitRunner and JUnit Rules
androidTestImplementation "androidx.test:runner:$testRunnerVersion"
androidTestImplementation "androidx.test:rules:$testRulesVersion"
// Assertions
androidTestImplementation "androidx.test.ext:junit:$testJunitVersion"
androidTestImplementation "androidx.test.ext:truth:$truthVersion"
// Espresso dependencies
androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion"
androidTestImplementation "androidx.test.espresso:espresso-contrib:$espressoVersion"
androidTestImplementation "androidx.test.espresso:espresso-intents:$espressoVersion"
androidTestImplementation "androidx.test.espresso:espresso-accessibility:$espressoVersion"
androidTestImplementation "androidx.test.espresso:espresso-web:$espressoVersion"
androidTestImplementation "androidx.test.espresso.idling:idling-concurrent:$espressoVersion"
// The following Espresso dependency can be either "implementation",
// or "androidTestImplementation", depending on whether you want the
// dependency to appear on your APK’"s compile classpath or the test APK
// classpath.
androidTestImplementation "androidx.test.espresso:espresso-idling-resource:$espressoVersion"
}
dependencies {
// Core library
androidTestImplementation("androidx.test:core:$androidXTestVersion")
// AndroidJUnitRunner and JUnit Rules
androidTestImplementation("androidx.test:runner:$testRunnerVersion")
androidTestImplementation("androidx.test:rules:$testRulesVersion")
// Assertions
androidTestImplementation("androidx.test.ext:junit:$testJunitVersion")
androidTestImplementation("androidx.test.ext:truth:$truthVersion")
// Espresso dependencies
androidTestImplementation( "androidx.test.espresso:espresso-core:$espressoVersion")
androidTestImplementation( "androidx.test.espresso:espresso-contrib:$espressoVersion")
androidTestImplementation( "androidx.test.espresso:espresso-intents:$espressoVersion")
androidTestImplementation( "androidx.test.espresso:espresso-accessibility:$espressoVersion")
androidTestImplementation( "androidx.test.espresso:espresso-web:$espressoVersion")
androidTestImplementation( "androidx.test.espresso.idling:idling-concurrent:$espressoVersion")
// The following Espresso dependency can be either "implementation",
// or "androidTestImplementation", depending on whether you want the
// dependency to appear on your APK"s compile classpath or the test APK
// classpath.
androidTestImplementation( "androidx.test.espresso:espresso-idling-resource:$espressoVersion")
}
リリースノート ページには、 表示されます。
具体的なリファレンスについては、パッケージ インデックスまたはクラス インデックスをご覧ください。 これらのライブラリのドキュメントをご覧ください
非推奨のクラスを使用しているプロジェクト
非推奨の JUnit3 ベースの android.test
に依存するテストをアプリで使用している場合
クラス(InstrumentationTestCase
、TestSuiteLoader
など)は、
ファイルの android
セクションに次の行を追加します。
android {
...
useLibrary 'android.test.runner'
useLibrary 'android.test.base'
useLibrary 'android.test.mock'
}
マニフェスト宣言を追加する
非推奨の JUnit3 ベースの android.test
クラスに依存するテストを実行するには、以下を追加します。
必要な <uses-library>
要素をテストアプリのマニフェストに追加します。対象
たとえば、android.test.runner
ライブラリに依存するテストを追加する場合は、
次の要素をアプリのマニフェストに追加します。
<!-- You don't need to include android:required="false" if your app's
minSdkVersion is 28 or higher. -->
<uses-library android:name="android.test.runner"
android:required="false" />
特定の JUnit ベースのクラスを含むライブラリを特定するには、以下をご覧ください。 JUnit ベースのライブラリ。
非推奨のクラスを使用し、Android 9 以前をターゲットとしている場合の考慮事項
高め
このセクションのガイダンスは、Android 9(API レベル 28)をターゲットとする場合にのみ適用されます。 以上かつ、アプリの最小 SDK バージョンが Android 9 に設定されている。
android.test.runner
ライブラリは暗黙的に android.test.base
に依存します。
と android.test.mock
ライブラリを使用します。アプリが別のクラスのクラスのみを使用する場合は、
android.test.base
または android.test.mock
を指定する場合、次のようにしてライブラリをインクルードできます。
説明します。
<!-- For both of these declarations, you don't need to include
android:required="false" if your app's minSdkVersion is 28
or higher. -->
<uses-library android:name="android.test.base"
android:required="false" />
<uses-library android:name="android.test.mock"
android:required="false" />