3

フレームワークの単体テストを使用しているときに、ディスクへの保存に問題があります。

私は他のスレッドを読んだことがありますが、単体テストを修正してディスクへの書き込みを有効にする特別なケースがあるようです。通常、通常のアプリケーションでは、参照リンクのように Bundle Loader と Test Host のパスを定義すると、ディスクへの書き込みが可能になります。代わりに次のエラーが表示されます。

ld: ファイルが見つかりません: /Users/myName/Library/Developer/Xcode/DerivedData/TestFramework-hbmitredrfzizgeypdtunedsiqqt/Build/Products/Debug-iphonesimulator/TestFrameworkTests.xctest/TestFrameworkTests クラン: エラー: リンカー コマンドが終了コード 1 で失敗しました (use - v 呼び出しを確認する)

バンドルローダー $(BUILT_PRODUCTS_DIR)/TestFrameworkTests.xctest/TestFrameworkTests に以下を使用しました

テスト ホスト
$(BUNDLE_LOADER)の場合は次のとおりです。

アプリの場合、これらの変数は既に入力されています。何らかの理由で、おそらく正当な理由で、これらの変数はフレームワークに対して空白でした。

エラーのパスをたどりましたが、実行可能ファイルがありません。通常のプロジェクトが作成された場合、パスは実行可能ファイルにつながり、本来の動作をします。私は途方に暮れています。

助けてください。ありがとうございました。

=================

これが私が使用したプロジェクトです。これはまったく新しいもので、コンソールにログを記録するダミーコードです。

http://speedy.sh/3MuGu/TestFramework.zip

参照スタック オーバーフロー スレッド

iPhone単体テストのNSHomeDirectory

4

1 に答える 1

2

通常、iOS 単体テスト用にディスクに保存しても問題はありません。

ただし、Simulator がホストするアプリケーション テストまたはロジック テスト用の標準ドキュメント ディレクトリに書き込む場合、最初にそのディレクトリを作成する必要がある場合があります。

テストのセットアップまたはテストが実行される前に発生する他の場所で、次のことを行うだけです。

  • ドキュメント ディレクトリを取得する
  • このパスを作成するには、NSFileManager を使用します。

これは、私自身の経験に基づいた単なる暗示です。それで、これがあなたに役立つかどうか教えてください。

于 2013-10-11T07:12:47.750 に答える