已删除的测试在 Xcode 测试导航器中持续存在
Posted
技术标签:
【中文标题】已删除的测试在 Xcode 测试导航器中持续存在【英文标题】:Deleted tests persist in Xcode test navigator 【发布时间】:2016-04-19 21:10:20 【问题描述】:我最近从我的项目中删除了一些旧的测试类并删除了文件。正如预期的那样,文件被移到垃圾箱并在 git 中显示为已删除。
不幸的是,测试类和它们定义的测试用例继续出现在测试导航器中。我已经尝试过常见的问题,例如清理和重建,以及退出和重新打开 Xcode。
其余测试运行良好;在所有测试运行结束时,导航器会显示没有指示状态的虚拟测试。
我开始认为项目文件中存在一些错误状态,导致这些幻像测试用例一直存在,但我对内部结构了解不足,无法进一步调试。
我的问题与here 描述的场景不同,因为我的所有测试用例都停留在测试导航器中,而不是全部消失。
【问题讨论】:
【参考方案1】:删除 DerivedData 目录。显然 Xcode 会解析测试类并将某种测试定义文件写入 DerivedData。然后它使用这些定义文件来填充测试导航器。
不幸的是,从 Xcode 中删除测试类不会导致缓存失效并重建。相反,必须手动清除缓存。
我错误地认为测试定义存储在内存中,这就是为什么我希望退出 Xcode 可以解决问题。
【讨论】:
【参考方案2】:我发现我必须按顺序执行以下步骤,否则删除的测试会重新出现:
-
关闭项目(但不要退出 Xcode)。
窗口 > 项目 > 选择项目。
点击“派生数据”旁边的“删除”按钮。
退出 Xcode 并重新启动。
等待 Xcode 完成索引。
运行测试。
【讨论】:
以上是关于已删除的测试在 Xcode 测试导航器中持续存在的主要内容,如果未能解决你的问题,请参考以下文章