0

私は Chris Hanson の優れた Xcode 単体テスト ガイドのハイブリッドのようなものを使用しています。

私のプログラムは (コマンドライン) アプリケーション (実行可能ファイル自体を使用してテストを実行することはできません) ですが、単体テストをデバッグできる必要があります。

だから私が持っているものは次のとおりです:

テスト バンドルとテストを作成します。新しいテスト ターゲットを作成し、バンドル ローダーとテスト ホストを設定します。メイン ターゲットをテスト ターゲットの直接の依存関係として追加します。新しいカスタム実行可能 otest を作成します。-SenTest selfMyTestBundle.octest、引数を追加します。環境に変数を追加DYLD_LIBRARY_PATHします。DYLD_FRAMEWORK_PATH

私の問題は、実行可能ファイルを実行してテストをデバッグしようとすると、テストによって参照されるクラスが利用できないことです。たとえば、クラス Foo のテストを作成すると、テストで Foo をインスタンス化するとすぐに、不正なアクセス例外が発生します。

Foo.m をテスト ターゲットに追加すると、これはなくなりますが、テストするすべてのクラスをテスト ターゲットとアプリケーション ターゲットに追加する必要はありません。

メインの実行可能ファイルのどこにクラスがあるかを otest に伝える何らかの変数を追加する必要があるだけだと思いますが、この引数の名前がどうなるかわかりません。

誰かがこれを修正するための正しい方向に私を向けることができますか?

4

1 に答える 1

0

よく考えてみると、XCInjectBundle 変数と XCInjectBundleInto 変数は役に立ちますか? それらは、Xcode 3 および Objective-C を使用した Apple の自動ユニット テストで説明されています。

XCInjectBundle: ユニット Tests.octest

XCInjectBundleInto: OCT.app/Contents/MacOS/OCT

于 2009-10-23T10:23:51.240 に答える