既存プロジェクトへのテスト追加

「既存プロジェクトへのテスト追加」の編集履歴(バックアップ)一覧はこちら

既存プロジェクトへのテスト追加」(2013/12/16 (月) 12:37:57) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

うまくいってないっす。。。orz * 概要 Androidアプリの開発で、ロジック周りの検証を行いたいが、リリース用のプロジェクトにはテストコードが込められない。&br; そんなときには開発環境(Java SDKかなぁ?)が提供するテスト機能を使ってロジックチェックを行えばよい。&br; 今回使用するのはユニットテストフレームワークとして名高いxUnitシリーズのJava用、&bold(){JUnit}である。 &br; &br; --参考資料 今から5分で,開発中のAndroidアプリを単体テストしよう (JUnitで自動テストする方法) http://d.hatena.ne.jp/language_and_engineering/20130121/UnitTestOfAndroidAppOnEclipse * 用意するもの -- テスト対象となる既存のAndroidプロジェクト -- 時間とお金(あれば) &br; JUnitはEclipseとかAndroidSDKとかインストールしている中で一緒にインストールされているらしい。&br; よって別段準備するものはない。ありがたい。&br; &br; * テストプロジェクトを追加する 方法は2つある。 + テスト用のプロジェクトを起こす方法 + 既存のプロジェクトにテスト用パッケージを追加する方法 &br; 今回は2番目でやってみる。&br; &br; ** パッケージを作ろう 既存のプロジェクトに対してコンテキストメニューからNew→Package。&br; 今回はテスト対象のパッケージに「.test」のサフィックスをつけた名前にした。&br; ** テストを行う側のクラスを作ろう &bold(){この節では、Activityのクラスをターゲットにしたテストを行う。}&br; &br; パッケージにClassをNew。&br; SuperClassにActivityInstrumentationTestCase2を選択して継承させる。&br; 自動生成されたソースの中の、テンプレート部分<T>に、ターゲットとなるクラス名をいれる。&br; そのままだと参照できないので、import文を追加する。&br; ↓こんな感じ。&br; #highlight(java){{{ package com.android.ritchan.arkaklelinar.test; import android.test.ActivityInstrumentationTestCase2; import com.android.ritchan.arkaklelinar.*; //★ public class GUITest extends ActivityInstrumentationTestCase2<MainActivity> { //★ // ★ GUITestに赤波線が出て、コンストラクタを追加してくりゃれ、とでるので了承すると作られるメソッド↓ public GUITest(Class<MainActivity> activityClass) { super(activityClass); // TODO Auto-generated constructor stub } } }}} ** テストケースを書こう で、テスト対象のActivityを捕まえて、メソッドを呼び出してテストするコードを追加する。 #highlight(java){{{ package com.android.ritchan.arkaklelinar.test; import android.test.ActivityInstrumentationTestCase2; import com.android.ritchan.arkaklelinar.*; public class GUITest extends ActivityInstrumentationTestCase2<MainActivity> { private MainActivity mMainActivity; // ★ public GUITest(Class<MainActivity> activityClass) { super(activityClass); // TODO Auto-generated constructor stub } // ★ 各テストケースを呼ぶ前にコールされるセットアップ関数 @Override protected void setUp() throws Exception { super.setUp(); // アクティビティを取得 mMainActivity = getActivity(); } // ★ 先頭にtestとつけることでテストケースとして認識されるっぽい public void testSomeFunction() { assertEquals(mMainActivity.hogehoge(), "result"); } } }}} ** テストを実行しよう プロジェクトツリーからコンテキストメニュー→Run→JUnit。

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。