我有一套测试,我正逐渐在视频文件上写测试不同的功能。 (我在我的资源包中包含一个测试视频。)逐个运行这些测试时,它们会成功。但是从Xcode的测试导航运行他们都在一起时,他们开始生产负荷的错误,如"The requested URL was not found on this server."
(使用AVAssetImageGenerator - 类似的消息“无法找到该网址”是为其他文件加载操作生成的。)Xcode iOS - 使用相同资源的多个测试失败 - 如何使用1资源进行多项测试?
我可以摆脱这些错误,并通过简单地复制我的测试视频并为每个测试用例使用不同的文件,让所有测试都能够完美运行。我目前使用NSFileManager
和AVAsset
类从文件URL加载视频,我现在最好的猜测是测试正在并行运行,并且当测试资源视频文件被一个线程使用时被系统锁定。
这个每个测试一个文件的场景对于视频来说并不理想,因为我的测试资源文件夹正在快速增长!
跨多个测试使用一种测试资源的好方法?
编辑:我的测试中跨越不同的测试文件,我得到在所有情况下的文件URL(这始终是有效的),如
testVideoURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"TestVideo3" withExtension:@"MOV"];
你能展示一个最小代码示例 - 至少有两个测试用例在一起运行时会失败,以及所有setup/teardown方法吗? – Losiowaty