Xcode 6.1 直到运行时才检测单元测试
Posted
技术标签:
【中文标题】Xcode 6.1 直到运行时才检测单元测试【英文标题】:Xcode 6.1 not detecting unit tests until runtime 【发布时间】:2014-12-17 17:06:16 【问题描述】:我遇到了 Xcode 6.1.1 未检测到单元测试文件的问题。我运行了与之关联的方案,并在运行时找到了该文件,并在单元测试导航器中的旁边出现了一个“rT”图标。这让我找到了this question,但没有一个答案对我有用。删除我的派生数据或重新启动 Xcode 都无济于事。唯一接近工作的是在 Xcode 运行时删除我的派生数据文件夹——当它重新索引时,它发现了我的三个方案之一中的所有测试文件。
所有这些测试都是在过去检测到的——我认为这一切都在重新索引期间被破坏了。
有没有人看到这个并找到了解决方案?我希望在运行前检测到我的测试,以便我可以轻松地单独运行它们。
【问题讨论】:
在 Xcode 运行时反复删除派生数据方法有帮助。似乎不是一个可靠的解决方案... 【参考方案1】:我也遇到过这种情况,但删除派生数据对我有用:
-
关闭 Xcode
终端:cd ~/Library/Developer/Xcode/DerivedData/
终端:rm -Rf *
打开 Xcode 并等待它重新索引项目。
但是,您已表示这并不完全适合您。或许您也应该尝试删除 Xcode 缓存目录?
-
关闭 Xcode
终端:cd ~/Library/Caches/com.apple.dt.Xcode/
终端:rm -Rf *
打开 Xcode 并等待它重新索引项目。
【讨论】:
不错的主意!我会看看我是否能回到这种状态并试一试。 希望它对您有用 - 最后的选择是从您的计算机中完全删除 Xcode,然后重新安装。 :( 这在 Xcode 7.0.1 中似乎仍然是一个可行的解决方案。【参考方案2】:这也发生在我的 Xcode 7.2 上。 我执行了以下步骤来解决这个问题:
-
我通过选择 Window -> Project -> 单击 Derived Data 路径旁边的箭头并删除文件夹中的所有文件来删除了 Derived Data。
退出并重新启动 Xcode。
索引文件需要一些时间,然后所有测试都出现在测试导航器下。
【讨论】:
【参考方案3】:我在 6.1.1 中也有同样的问题。
我发现的一种解决方法是创建一个新的测试目标。当测试用例消失时,在导航器中选择它并将其移出原始测试目标,移入新目标,然后再次返回(可能在将其移回之前暂停 - 虽然不确定这是否真的有必要)。并不总是有效,但似乎经常触发 XCode 记住测试用例 - 如果它第一次失败,通常会重复。
我也会尝试删除派生数据 - 请注意,这可以在 Xcode 中完成(窗口/管理器/项目 - 在派生数据旁边按 Delete) - 可能更快,但可能仍然需要重新启动 - 需要一些更多实验。
阿里
【讨论】:
甚至更简单,在右侧面板中为有问题的文件取消选择测试目标,等待几秒钟,然后再次选择它。唯一对我有用的东西,不需要删除文件夹或重新启动 XCode。 @aledalgrande 其实好久没看到这个问题了——Xcode 6.3.2 改进了很多。 我在这个线程中是因为我今天遇到了这个问题,使用 XCode 6.3.2 :) @aledalgrande 啊,不一致的错误 - 我的最爱 ;)以上是关于Xcode 6.1 直到运行时才检测单元测试的主要内容,如果未能解决你的问题,请参考以下文章