GHUnitのめも
GHUnitでiOSアプリケーションのテストを書こうと思い、その時のφ(`д´)メモメモ...
環境
インストール
公式の通りに進めたらできました(^o^)
ただし、gemとCocoapodsが必要
- gemでGHUnitをインストール
sudo gem install ghunit
- プロジェクトのディレクトリに移動する
.xcodeproj
が存在するディレクトリ
cd $PROJECT_DIR
- Testターゲットをプロジェクトに追加
- -nにはプロジェクト名を渡す
ghunit install -n test
- PodfileにGHUnitを追加
platform :ios, '6.0' target :Tests do pod 'GHUnit', '~> 0.5.9' end
- GHUnitをプロジェクトに追加
pod install
.xcworkspace
を開く- すると、ターゲットに
Tests
が追加されてる!
- すると、ターゲットに
実行
実行するターゲットを
Tests
に切り替える- 左上の停止ボタンのとなりにあるやつ
実行する!
- Product -> Run
今回はiOSシミュレータで実行してみた
右上のRunをタッチすると、テストが実行される
ここまで、インストールと起動は何事もなく終えることができたんですが、 自分で作成したクラスをテストしようとするとビルドエラーがでる(-_-;)
どうやらターゲット毎にコンパイルするソースを指定しないと行けないらしい。。。
方法1
- プロジェクトの設定画面 >
Tests
ターゲットを選択 >Build Phases
タブを選択 >Compile Source
を選択 Tests
ターゲット内でコンパイルしたいソースを追加する
方法2
- テスト対象のソースを選択 >
File Inspector
>Target Membership
>Tests
ターゲットにチェックを入れる- この方法だと
.m
ファイルしかチェックを入れることができない
- この方法だと
.m
ファイルを参照できるんだったら、ヘッダファイルもimportされるから.h
はチェック入れる必要なくね?ってことなんですかね(-_-;) 方法1の場合だと.h
もコンパイルの対象に含めることができたんですが、違いは何なんだろう。。。
ちなみに、方法1と方法2でターゲットのコンパイル対象に含める操作は、
同期されてるようでどちらかの方法で追加した場合はCompile Source
とTarget Membership
に追加され、
どちらかの方法で削除した場合は、コンパイル対象から外されてた
別ターゲットの全ファイルをコンパイル対象にする、 ターゲットの設定が有りそうなものだけどわからない。。。