我正在用Objective C编写单元测试。
以下是我的代码:
NSString *testTempDirectory = [NSString stringWithFormat:@"%@%@", NSTemporaryDirectory(), @"DC_Tests"];
NSURL *parentDirURL = [NSURL fileURLWithPath:testTempDirectory];
NSURL *testFolderURL = [NSURL fileURLWithPath:testFolderPath];现在,testFolderURL中的路径返回为
/var/folders/31/2dpztnmx4fzfxb87qtn5_n0wc49pvz/T/DC_Tests/testFolder/但最初的路径是
/private/var/folders/31/2dpztnmx4fzfxb87qtn5_n0wc49pvz/T/DC_Tests/testFolder/最初的路径是我期望的路径,由于它是不同的,我的断言失败了。
知道我该怎么走完这条路。
Note:我尝试了绝对字符串,但没有帮助。
发布于 2017-06-15 08:28:22
注意,在Mac中,var文件夹实际上是一个链接到/private/var的文件夹。
$ ls -l /
total 45
drwxrwxr-x+ 61 root admin 2074 Jun 11 08:58 Applications
drwxr-xr-x+ 63 root wheel 2142 Jul 6 2016 Library
drwxr-xr-x@ 2 root wheel 68 Aug 24 2015 Network
drwxr-xr-x@ 4 root wheel 136 Jun 9 18:56 System
drwxr-xr-x 6 root admin 204 Apr 22 2016 Users
drwxrwxrwt@ 4 root admin 136 Jun 15 09:53 Volumes
drwxr-xr-x@ 39 root wheel 1326 Jun 9 18:56 bin
drwxrwxr-t@ 2 root admin 68 Aug 24 2015 cores
dr-xr-xr-x 3 root wheel 4312 Jun 9 18:57 dev
lrwxr-xr-x@ 1 root wheel 11 Oct 18 2015 etc -> private/etc
dr-xr-xr-x 2 root wheel 1 Jun 9 18:58 home
-rw-r--r--@ 1 root wheel 313 Aug 23 2015 installer.failurerequests
dr-xr-xr-x 2 root wheel 1 Jun 9 18:58 net
drwxr-xr-x@ 6 root wheel 204 Oct 18 2015 private
drwxr-xr-x@ 59 root wheel 2006 Jun 9 18:56 sbin
lrwxr-xr-x@ 1 root wheel 11 Oct 18 2015 tmp -> private/tmp
drwxr-xr-x@ 13 root wheel 442 Apr 19 2016 usr
lrwxr-xr-x@ 1 root wheel 11 Oct 18 2015 var -> private/var因此,修复测试的最简单方法是忽略路径中的/private部件。(在Mac上包含tmp文件夹的路径也有类似的问题)
https://stackoverflow.com/questions/44560406
复制相似问题