私はRestKitプロジェクトのリード開発者であり、テストにUISpecを使用しないことをお勧めします。RestKitによるUISpecの使用(より正確には、高度にカスタマイズされたバージョン)は、開発の初期段階からの成果物です。私は機能テストにUISpecを使用していたため、非常に多くのライブラリを持ち歩くことを躊躇していました。最近、UISpecは本質的にアバンダンウェアであり、UI/機能テストにSquareのKIFを使用するようになりました。
新しいプロジェクトの単体テストには、組み込みのSenTestingKitの上に配置され、RSpecスタイルのテストを提供するKiwi( https://github.com/allending/Kiwi )が好きです。Pivotal LabsのCedar(https://github.com/pivotal/cedar)とGHUnit(http://gabriel.github.com/gh-unit/)も堅実です。RestKit自体は、近い将来、UISpecから移行する可能性があります。
次に、テスト用にデータベースをセットアップする方法について説明します。RestKitのRKSpecEnvironment.h/mファイルを見ると、単体テストに役立つメソッドがたくさんあります。RestKitのコアデータ統合を使用していると仮定すると、RKSpecNewManagedObjectStore()メソッドはコアデータ環境を破棄し、永続ストアを削除することでクリアデータベースにバックアップします。
RestKit独自の単体テストは、APIデータに対して単体テストを行う方法について(上記のテストハーネスの懸念は別として)いくつかの優れたリファレンスを提供できます。RKSpecResponseLoaderクラスは、非同期REST要求をテスト可能な手続き型ステップ(RKObjectLoaderのデリゲートとして機能し、実行ループを回転させて要求のロードを待機する)に変換するのに役立ちます。したがって、一般的なパターンは、データベースの状態をクリアし、必要な/期待するオブジェクトをセットアップしてから、APIインタラクションを実行し、CoreDataの結果または新しい状態に対してアサートすることです。