为什么 XCTest 将大量数据保存到我的 /private/vars/folders/rx/ 文件夹中?

Why does XCTest save a ton of data to my /private/vars/folders/rx/ folder?

我正在使用带有 XCode 6.3 的 XCtest 来测试我的应用程序。我注意到它似乎将大量数据保存到我的 /private/vars/folders/rx/ 文件夹中。如果我删除我的应用程序的派生数据,这些 XCTest 文件夹不会被删除,如果我重新启动我的计算机,它仍然存在。这些数据可以安全删除还是我需要它?

我使用 DaisyDisk(顺便说一句很棒的程序!)查看我计算机的内存,我看到了这个:

所以我想看看每个文件夹中的内容。当我看时,似乎是 XCTest 是罪魁祸首。

当 运行 我的测试时,我包含了一大堆大约 1.7 GB 的 jpg。我正在努力简化我的应用程序测试,这样我就不需要大包了,但我仍然很好奇我是否可以安全地删除其中一些旧文件夹。

是的,删除它们是安全的。这是 Xcode 存储以 "Unit Test" 模式构建的应用程序的构建副本的位置。正如 Xcode 有一个用于构建 OS X 应用程序的 Derived Data 文件夹一样,它还有另一个用于存储 XCTest 数据的位置(将此数据存储在 Derived Data 文件夹中是不合适的,因为它用于存储用户打算 运行 的应用程序的构建副本)。

不过,您应该注意,Xcode 可能会在您下次尝试 运行 应用程序的单元测试时再次将数据放回原处,并且 [=19] 可能需要更长的时间=] 因为一些缓存数据不见了。权衡取舍是否值得取决于你。

顺便说一下,Xcode 将您的整个项目构建到 运行 XCTest,因为您的测试可能依赖于应用程序包中的某些资源。这就是文件夹这么大的原因。