Mik*_*e S 1 unit-testing objective-c nsbundle xcode4
我正在使用XCode 4.
有人可以向我解释为什么当我编写单元测试(在测试目标下)它无法找到我的本地文件资源时?我正在尝试从单元测试中加载来自NSBundle的plist文件,但它在单元测试目标中不起作用.我已经尝试将它扔在Test目标的Classes区域下.
这是我的代码:
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:@"urlMappings.plist"];
self.urlMappings = [NSDictionary dictionaryWithContentsOfFile:finalPath];
Run Code Online (Sandbox Code Playgroud)
self.urlMappings由于某种原因是空的,即使urlMappings.plist肯定存在于我的项目中.这是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>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢
小智 7
在测试目标下,您不应该使用[NSBundle mainBundle],因为它是主捆绑,而不是测试捆绑.你应该使用[NSBundle bundleForClass:[self class]]替换.
| 归档时间: |
|
| 查看次数: |
1605 次 |
| 最近记录: |