LoginSignup
1
3

More than 3 years have passed since last update.

[Android]インストラメント化テストとローカルテストでコードを共有するには

Posted at

はじめに

Androidプロジェクトのテストは、テストの実行環境で以下のふたつに分けられます。

  • ローカルテスト
    module-name/src/test/java/ にあります。
    マシンのJVM上で実行されるため、実行時間・リソースがより少なく済みます。
    Androidフレームワークを必要に応じてモックする必要があります。

  • インストラメント化テスト
    module-name/src/androidTest/java/ にあります。
    実機またはエミュレータ上で実行するため、再現性が高く実行時間・リソースがより多くかかります。
    Instrumentation APIからContextなどの値を参照できます。

テストソースにファイルを追加する

これらのテストでコードを共有したり、任意のファイルを参照するには、gradleでテストソースを指定します。

例えば、ローカルテスト・インストラメント化テストでコードを共有したい場合、
module-name/src/sharedTest/java/{アプリのパッケージ名}配下にファイルを作成し、アプリモジュールのbuild.gradleでテストソースを追加します。

android {
   ...
   sourceSets {
       androidTest 
           java.srcDirs += "src/sharedTest/java
       }
       test {
           java.srcDirs += "src/sharedTest/java"
       }
   }
}

参考記事

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3