ExercismでObjective-Cの演習をテストする方法を学びます
Exercismがダウンロードするのは、テストファイルだけです。ヘッダーファイルと、演習に対応するソースファイルは、自分で作成する必要があります。テストファイル、ヘッダーファイル(.h)、ソースファイル(.m)をまとめたXcodeプロジェクトファイルを生成する必要があります。もう1つの方法として、このあと説明するテストランナーのユーティリティを使うこともできます。
テストはXcodeを通して実行されます。
注意: "No visible @interface for ExerciseName declares the selector ExerciseSelector," というエラーが出た場合は、手順は正しく実行できていますが、ヘッダーファイルや実装ファイルにまだ何も書いていないだけです。.hファイルでメソッドを宣言し、.mファイルで定義すると、テストはもっと役に立つエラーを出すようになり、演習の完了へと導いてくれます。より詳しく知りたい場合は、Objective-Cクラスの入門を読んでみてください。
プロジェクトファイルを手動で生成する代わりに、Rubyで書かれたテストランナーのユーティリティobjcを使う方法もあります。これは、テストファイル、ヘッダーファイル、ソースファイルをまとめたプロジェクトファイルを作成してくれます。
$ gem install objc
テストは次のように実行します。
$ objc -x ExerciseName
(-x/--xcodebuildフラグに注目してください。これはxctoolではなくxcodebuildを使うよう指定するものです。xctoolはXcodeの最新リリースでは動作しません。)
objcユーティリティは演習名を使って、テストファイルExerciseNameTest.m、ヘッダーファイルExerciseName.h、ソースファイルExerciseName.mを探します。これらのファイルは一時的なXcodeプロジェクトに挿入され、その後xcodebuildでプロジェクトのテストが実行されます。
objcを使えば、これらの演習を完了するためにXcodeを起動する必要はありませんが、コマンドラインでのエラーメッセージやフィードバックは、Xcodeのユーザーインターフェースほどわかりやすくはありません。