Android Studio Test

android-studio-test.png

Google公式によるサンプル

github(android-ActivityInstrumentation)にもありますが、
Android SDKでandroid-18以上のバージョンのサンプルをダウンロードしてもついてきます。

Android Studioを使ったJUnitテスト

Android公式ページ[1]によると、Eclipse以外のIDEからJUnitテストしたい場合は、
Antでbuildせよ、というようなことが書いてあります。今の所Eclipseでやった方が楽そうですね
でも、ちょっと頑張ってAndroid StudioでJUnitテストを実現させてみましょう!
まずはEclipseでAndroid JUnitができる状態になってからEclipseのメニューからExportでAndroid Studio用にbuild.gradleをエクスポートします。
テストプロジェクトの1個上の親フォルダがプロジェクトフォルダと認識されるのでご注意。
なので、テストプロジェクトありのプロジェクト作るときは

ProjectFolder - TestTargetProject
       - TestProject

という構造にするとよいでしょう。

Run Configurationでandroid.support.test.runner.AndroidJUnitRunnerを足す

configuration.png

Error:Dependency OutlineTest:OpenGLES2:unspecified on project OutlineTestJunit resolves to an APK archive which is not supported as a compilation dependency. File: /Users/***/Documents/anotherworkspace/OutlineTest/OpenGLES2/build/outputs/apk/OpenGLES2-release-unsigned.apk

OpenGLES2-release-unsigned.apkというapkがないよ〜と怒られています。
私は「OpenGLES2-debug-unsigned.apk」ならある、という状態でこのエラーが出ました。
[4]のページにrelease-unsigned.apkの作り方がのってたのでやってみます。
まずメニューの

File>Project Structure

projectstructure.png
その次のProject Structureのダイアログでプラスボタンを押します。
plus.png
を選びます。

普通にコンパイルすると出るエラー

gradleerror.png

build.gradleファイルに必要な記述を追加

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':OutlineTest:OpenGLES2')//←テスト対象のプロジェクトを指定する
    //↓以下を追加junitのバージョンは環境によりけり
   androidTestCompile 'junit:junit:4.12'
}

androidTestCompileというのは「プロジェクトのAndroid用のテストコードをコンパイルするのに必要な依存関係。」ですよという意味です。
注意!ここでtestCompileと書くと、

gradle DSL method not found testcompile

というエラーが出てきます。androidTestCompileを使いましょう
次に

Failed to find: junit:junit:4.+ が出て来た場合

Eror:
Open in Project Structure dialogを押します。
step1.png
プラスボタンを押します。
そしてLibrary Dependencyを選びます
「Choose Library Dependency」というダイアログになりますが、ここでjunitを探してOKを押します。
自分の環境のjunitがバージョン何なのかわかります。

android-test test

サポートサイト Wikidot.com android-testtest