Xcode单元测试并将数据写入磁盘

时间:2012-06-29 20:17:04

标签: ios xcode unit-testing

我正在尝试编写逻辑测试来调试将图像数据保存到磁盘的方法。我使用以下行将图像数据写入文档目录:

docspath = [[NSString alloc] initWithString:[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, TRUE) objectAtIndex:0]];
fullpath = [[NSString alloc] initWithFormat:@"%@/%@", docspath, _name]; 
BOOL written = [fileData writeToFile:fullpath options:NSDataWritingAtomic error:&dataerror];

除此之外,未写入数据且错误描述不返回此类文件或目录。我在iOS 5.1模拟器中的测试目标下运行此代码。我是否需要创建中间目录才能到达文档目录,或者在测试目标下写入磁盘还有其他问题吗?

返回错误:

2012-06-29 16:13:31.819 otest[4597:7b03] /Users/myaccount/xcode_projects/myproject/myproject/myfolder/MMFileManager.m - 285: Error Domain=NSCocoaErrorDomain Code=4 "The operation couldn’t be completed. (Cocoa error 4.)" UserInfo=0x1e1e3a0 {NSUserStringVariant=Folder, NSFilePath=/Users/myaccount/Library/Application Support/iPhone Simulator/5.1/Documents/mmLogo.png, NSUnderlyingError=0x1e1b430 "The operation couldn’t be completed. No such file or directory"}

1 个答案:

答案 0 :(得分:7)

单元测试不在您的应用程序中,因此,您无法在单元测试中访问Documents目录。

参考NSHomeDirectory in iPhone unit test