この記事は最終更新日から1年以上が経過しています。Studio的に自然な形で併存させるための設定をご紹介します。ゴールとしては、下記のような表示になります。Studioではあまり見かけないテストフォルダの配置に「おっ」と思った方は、次項を読み飛ばしてその先へどうぞ。前提知識:これまでのテストEspressoUIテストをモリモリ書いてきた諸兄は、Espressoと仲良くしていらっしゃることと思います。2.0が配布されるようになり、JUnit4が使えるようになったことを喜んだのは、記憶に新しいところです。SDKで正式サポートされました!)Robolectricまた、ユニットテストをモリモリ書いてきた諸兄は、Robolectricと仲良くしていらっしゃることと思います。JVM上で高速にテストを回すことができるRobolectricは、手元でのTDDにおいても、サーバー上のCIにおいても、欠かすことのできない存在になってきていますね。対応したプロジェクトを作る問題点と解決策(旧)どちらもDB層からUI層まで幅広い領域のテストに対応していますが、動作環境や実行速度の一長一短があるため、上手く使い分けができると幸せを享受しやすそうです。両方を扱うには、少し問題がありました。Studioは、テスト用ソースディレクトリを1つしか認識することができなかったのです。JUnit3しか書けなかった昔のandroidTestと、JUnit4でテストを書くRobolectricをプロジェクト内に併存させるのは、難しいものに思われました。この問題への一案を提示したのが、robolectric/deckard-gradleというサンプルプロジェクトでした。src/test/com.example/espresso/FirstUITestSecondUITestFirstRobolectricTestSecondRobolectricTestdeckard-gradleでは、上記のようなパッケージ構造にした後、次のような設定を記述することで、実行されるテストの振り分けを行っていました。'**/espresso/**/*.class'}これらの設定により、下記のテストが可能になっていました。Studio上でのandroidTestの実行これはこれで良いものでしたが、少し不自然な対応だったために、1つの問題が残りました。Espresso用のパッケージを別に用意したために、パッケージプライベートなフィールドに直接アクセスすることによる、テスト上の利便性を享受できなくなってしまったのです。他にも、旧来のdeckard-gradle方式による環境構築には、いくつかの問題がありました。2.0の時代に追従すべく、日本時間で2月3日の早朝に大きなリニューアルコミットがdeckard-gradleにマージされました。できるようになったこと今回のリニューアルで、できるようになったことを列挙します。Studio上でsrc/androidTestとsrc/testが両方ともテストソースディレクトリとして認識される(緑色のアイコンになる)大きな変更点としては下記2点が挙げられます。Studio上でRobolectricテストを実行できるようになった実装の要点android-unit-testによるテスト環境構築について、要点だけ解説します。2.0特有の設定内容(AndroidJUnitRunnerとか)については特に説明しません。他の記事をご覧ください。robolectric-gradle-pluginを置き換えるもうrobolectric-gradle-pluginは使いません。