[[FrontPage]] 2010/09/21からのアクセス回数 &counter; #contents ** iPhone SDKのUnitTestは中途半端 [#gfe7292b] iPhone SDKにもUnitTest用のクラスとプロジェクトテンプレートが提供されています。 *** UnitTest バンドルの新規作成 [#l64ea95c] iPhone用のアプリケーションプロジェクト(ここではCopyTextを使います)に、UnitTestバンドルを追加します。 - 「グループとファイル」からプロジェクト名を選択し、右クリックで「追加」→「新規ターゲット」を選択します - 「Cocoa Touch」から「Unit Test Bundle」を選択し、「次へ」ボタンを選択 - ターゲット名を入力します(ここではUnitTestsとします) *** 単体テストクラスを作成 [#f04b24b1] 次に単体テスト用のクラスを作成します。 - プロジェクト名を右クリックで「追加」→「新規グループ」を選択し、グループ名を入力(ここでは「Test Classes」と)します。 - 「Test Classes」を右クリックし、「追加」→「新規クラス」を選択します - 「Objective-C test case class」を選択し、「次へ」ボタンを選択 - クラス名を入力します(ここではMyTestCase)とし、ターゲットをUnitTestsとします。 今回は、APPLICATION_UNIT_TESTを使わないので、MyTestCase.hのdefine文を変更します。 #pre{{ #define USE_APPLICATION_UNIT_TEST 0 }} *** 単体テストの実行 [#f4c3278b] 単体テストの実行は、 - ターゲットを「UnitTests」を選択 - 「実行」メニューから「ビルド」を選択します 単体テストに失敗すると「CopyTest-ビルド結果」のウィンドウにエラーが表示されるのですが、 正常終了の場合は、Build Succeededとしか出力されません。 「何となく」物足りないのと、エラーが発生した場合デバッグすることができないのが、 私が「中途半端」と感じるところです。 試しにtestMathの1+1を1+2に変更し、ビルドして見てください。 &ref(failed.png); のようなエラーが「スクリプト実行」の結果として表示されます。 残念ながらこのままではtestMathをデバッグできません。 ** コメント [#u2ca1c96] この記事は、 #vote(おもしろかった[0],そうでもない[0],わかりずらい[0]) 皆様のご意見、ご希望をお待ちしております。 #comment_kcaptcha