AIDE (Android Java IDE) JUnit Test Tutorial
素晴らしい、Android Java IDE。
https://play.google.com/store/apps/details?id=com.aide.ui&hl=ja
開発ぐぐたす
https://plus.google.com/101304250883271700981/posts
今回、ユニットテストをAndroid端末単体で行ってみます。
TerminalEmulatorをインストールする必要があります。
きっとこのアプリ使う人は入ってると思うので説明は省略します。
自分の環境はACER ICONIA TAB A100, Honeycomb 3.2で実行しています。
1. メインプロジェクトを作成
ここではデフォルトのMyAppとします。
AppName: MyApp
Package Name: com.mycompany.myapp
2. テストプロジェクトを作成
AppName: MyAppTest
Package Name: com.mycompany.myapptest
3.テストプロジェクト設定
テストプロジェクトのAndroidManifest.xmlを編集します。
以下のコードを追加していきます。
どこでもいいと思いますがuses-sdk要素の後ろに書きます。
<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.mycompany.myapp" />
次にapplication要素の中に
<uses-library android:name="android.test.runner" />
を書きます。
4.テストコード作成
次に/mnt/sdcard/AppProjects/MyAppTest/src/com/mycompany/myapptest以下に
HelloTest.javaを作成します。
テストを先に作ったのでHelloとかエラーですがとりあえず保存します。
5. テストプロジェクト設定2
/mnt/sdcard/AppProjectsに戻り
MyAppディレクトリを長押ししてメニューからAdd library to projectを選択します。
MyAppTestからMyAppプロジェクトが参照されます。
6. コード作成
MyAppプロジェクトを開きます。
Hello.javaを作成します。
この状態でRunします。インストールします。
でも実行はしません。Activityが立ち上がるだけです。
7. テストプロジェクトインストール
再度MyAppTestプロジェクトを開きます。
HelloTest.javaを開きます。
やったね!先ほどのエラーが出てません!当たり前ですね。。。
この状態でRunします。インストールします。
でも実行はしません。Activityが立ち上がるだけです。
6. テストコマンド実行
TerminalEmulatorを立ち上げます。
立ち上がったらamコマンドを実行してみます。
テストに使用するコマンドです。
詳細は以下のドキュメントを参照してください。
http://developer.android.com/reference/android/test/InstrumentationTestRunner.html
以下のコマンドを実行します。
am instrument -w -e class com.mycompany.myapptest.HelloTest com.mycompany.myapptest/android.test.InstrumentationTestRunner
テストで失敗しています。 Hello Hogepiyoが期待されていたのですが、Helloしか返していないからです。
8. コード修正
AIDEに戻ってコードを修正します。
MyAppプロジェクトを開き、Hello.javaを編集します。
"Hello"を"Hello Hogepiyo"と修正します。
Runします。インストールします。
実行しません。
9. 再度テストコマンド実行
テスト成功しました!!!ヒャッハー!!!!!!!!!!!
Android端末単体でここまでできるのは素晴らしいことです。
ですが、さすがに一苦労ですね。
次回は若干ステップを減らす方法を書きたいと思います。