2010-12-31 11 views
1

私はCore Dataアプリケーションを開発中で、iPhone Simulatorのsqliteファイルに、アプリケーションのテストに使用するすべてのフィクスチャ/データを実装しました。そのsqliteファイルを標準化されたテストデータのセットとして使用したいと思います。XCode - シミュレータからsqlite DBをコピーしてテスト用のデバイスにコピー

私がすべてのアプリケーションをテストするデバイスは、異なるデータセットを持っているので、私はシミュレータのもので標準化したいと思います。

は、iPhoneシミュレータからsqliteのファイルをコピーして、携帯電話上のファイルの上にそれをインストールしますプロセスをインストール/ビルドにステップを追加するXCodeの(3または4)中の方法は、(存在する場合)はありますか?

おかげで、 ニール

答えて

5

あなたは~/Library/Application Support/iPhone Simulator/{version}/Applications/{application id}/でおそらく問題のsqlliteファイルを、見つけた場合は、あなたのプロジェクトにコピーし、ビルドプロセスに追加することができます。あなたはそれをコピーしたいと思うでしょう、あなたがシムをリセットするとき。

いくつかのプロジェクトで、私はユニットテストを追加して、 'default' sqlliteデータベースが存在するかどうかを判断しました(テストビルドディレクトリからリンクしています)。次に、データベースが見つからない場合は、ユニットテストで作成します(テキストファイル:csvまたはsqlを使用)。このアプローチを取ることで、後でスキーマやデータなどを変更することができました。また、デフォルトのデータベースに対してテストを実行することもできます。

+0

単体テストで面白いと思っていますが、本当にそこに属しているわけではありません。これは確かにテスト用ですが、私はそれがユニットテスト "ボックス"に正確に収まるかどうかはわかりません。これはビルド/インストールプロセスに適したものであるように思えます。私はいくつかの掘り下げを行い、新しいXcodeが何らかの方法でスクリプトをサポートしていることを確認しています。そのためにはどうすればいいのかなと思います... –

+0

私はその視点に関連付けることができます。私の立場は、「デフォルト」のデータベースが存在しない場合、テストが失敗してビルドされるということです。私はその後、失敗の私(そして他の開発者)に通知することができない主張を持っています。ビルドスクリプトのアプローチでも十分です。 – joshpaul

関連する問題