web-dev-qa-db-ja.com

android build.gradleのtestImplementationとandroidTestImplementationの違い

私はandorid studio 3.2を使用していますが、テストは初めてです。テストライブラリを追加したいのですが、依存関係セクションtestImplentationまたはandroidTestImplementationに何を書けばいいのかわかりません。これら2つの違いは何ですか?

19
srb1991

Android St​​udioを使用してAndroidプロジェクトを作成する場合。次のような3つのディレクトリを見つけることができます。 (各ディレクトリは Source Set と呼ばれます)

  • app/src/main
  • app/src/androidTest:Android UIテスト用。仮想または実デバイスが必要です。 (エスプレッソ、UIオートマトー)
  • app/src/test:Android独立テスト用。

androidTestディレクトリは、画面をタッチして表示内容をテストすることで自動化できます。
testディレクトリでは、1つの関数をテストするなど、主にunit testsを実行します。

ただし、テストディレクトリは単体テスト専用ではありません。 HTTP呼び出しのような統合テストを作成することもできます。 testライブラリを使用して、RobolectricディレクトリでUI testを実行することもできます(Espressoではなく、本当に高速です)。

では、testImplementationおよびandroidTestImplementationとは何ですか? (それぞれ Configurationと呼ばれます

  • testImplementation:testソースセットの依存関係を追加します
  • androidTestImplementation:androidTestソースセットの依存関係を追加します

詳細については、この記事を参照してください。

31
galcyurio