作り始めちゃったXcodeのプロジェクトに、あとからUnitTestsを追加する方法

「Include Unit Tests」にチェックを入れずに作り始めちゃったプロジェクト。
でもあとから、やっぱりUnit Tests入れときゃ良かったーと思うことってありますよね。
私は良くあります。
というわけで、あとからUnit Testsを追加する方法です。
(Xcode4.6での方法ですので、バージョンが違うと、ちょっと違うかもです)

File→New→Targetで「Cocoa Touch Unit Testing Bundle」を選択します。

Product Nameは、「”プロジェクト名”Tests」とします。

これで、プロジェクトにテストクラスができました!

これでほぼほぼ完成!なんですけど、
最初からInclude Unit Testsにチェックした場合と比べると、
Schemeが分かれてしまっています。

最初からInclude Unit Testsをチェックしたのと同じじゃなきゃイヤ!
というわけで、元からあるSchemeでUnit Testsを実行できるように変えます。

Manage Schemes…で、「”プロジェクト名”Tests」のほうを削除します。
元の「Sample」のほうをダブルクリックして、Testに新しい項目を追加します。
以下は追加したあとです。追加する前は、何にもない状態でした。

テストTargetの方のBuild Settings→LinkingのBundle Loaderに
「${BUILT_PRODUCTS_DIR}/プロジェクト名.app/プロジェクト名」
を指定します。

最後、テストTargetの方のBuild Settings→Unit TestingのTest Hostに
「${BUNDLE_LOADER}」を設定します。

はい、これで最初からInclude Unit Testsをチェックしたのと同じ状態に!!
「Include Unit Tests」にチェックを入れずに作り始めちゃったプロジェクトも、
これで心置きなくUnit Testsできちゃいます!

めでたし、めでたし。

この記事を書いた人

福西真奈株式会社ドラプロ 代表取締役
株式会社ドラプロ(http://www.dorapro.co.jp/) 代表取締役。 iPhoneアプリ開発/WEBシステム開発をやっています。
Pocket