1

XCode4を使用しています。

単体テスト (テスト ターゲットの下) を作成したときに、ローカル ファイル リソースが見つからない理由を誰かに説明してもらえますか? 単体テストで NSBundle から plist ファイルを読み込もうとしていますが、単体テスト ターゲットでは機能しません。Test ターゲットの Classes 領域の下に投げてみました。

これが私のコードです:

NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:@"urlMappings.plist"];
self.urlMappings  = [NSDictionary dictionaryWithContentsOfFile:finalPath];

私のプロジェクトには urlMappings.plist が確実に存在しますが、何らかの理由で self.urlMappings が空です。実際に辞書であることを証明するための urlMappings.plist のソースを次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>%server%view.html</key>
    <string>testHtml1.html</string>
</dict>
</plist>

何か案は?ありがとうございました

4

2 に答える 2

0

解決策 (意味がありません) は、メイン ターゲットのバンドル リソースに含まれていないことです。テストでしか使用していませんが、両方のターゲットのバンドル リソースに含まれている必要があります。

なぜこれが事実なのか誰にも分かりますか?

于 2011-03-31T02:58:57.943 に答える