4

Mac OS X フレームワークを開発しており、XCode 3.2.1 プロジェクトで OCUnit を使用したいと考えています。OCUnit テスト バンドルを構成する方法について、いくつかのチュートリアルに従いました。問題は、フレームワークのソースの 1 つで定義されている関数を使用するテスト ケースを作成すると、シンボルが見つからないというビルド エラーが発生することです。

チュートリアルにあるように、プロジェクトのターゲットに依存するテスト バンドルを作成しましたが、問題はないようです。最初に、フレームワークのソース ファイルをテスト バンドル ターゲット内のコンパイル ソース セクションにドラッグすることでこの問題を解決できると考えましたが、そのソース ファイルから参照されているすべてのシンボルがビルド エラーに表示されるようになったため、そうではないようです。良い解決策/アイデアになります。

ユニット テスト バンドルが適切にビルドされるように構成するにはどうすればよいですか?

4

2 に答える 2

4

また、フレームワークに対する単体テストも書いています。単体テストのためにフレームワーク ソースを再コンパイルするのではなく、ビルドされたフレームワークにリンクする必要があります。これが私が提案するものです:

  1. サイドバーのターゲットをダブルクリックして、ユニット テスト ターゲットの情報ウィンドウを開きます。
  2. [全般] タブ+で、左下の記号をクリックして、リンクされたライブラリを追加します。プロジェクトが生成するフレームワークを選択し、[追加] をクリックします。情報ウィンドウを閉じます。
  3. 各単体テストで、そのテストに必要なヘッダー ファイルをインポートします。Xcode はフレームワーク ファイルを認識しているため、山かっこ (および)#import "MyHeader.h"ではなく、フォームを使用できるはずです。<>

この時点で、単体テストはエラーなしでビルドされるはずです。そうでない場合は、CHDataStructures用に単体テストがどのように構成されているかを調べると役立つ可能性があります。

于 2010-02-23T23:47:44.397 に答える
1

Xcodeのメインウィンドウに表示されるファイルビューアーテーブルで、私のフレームワーク(製品セクションに表示されるもの)に対応するチェックボックスをクリックすることで機能させることができます(ファイルをターゲットとして配置すると思います)それ)。フレームワークを Unit Test バンドルにドラッグすると、別のことが行われるようです。

于 2010-02-24T02:44:14.747 に答える