Xcode 不再识别测试

Posted

技术标签:

【中文标题】Xcode 不再识别测试【英文标题】:Xcode no longer recognizes tests 【发布时间】:2014-12-10 05:36:42 【问题描述】:

这几天我一直在解决这个问题,但完全没有想法。

我在 Xcode 中使用单元测试,效果很好。突然之间,Xcode 不再识别我的测试。如果我转到测试面板,它表明我的测试为零。我实际上有 13 个。

现在无法运行单个测试或某些类。它不会在编辑器区域的装订线中显示按钮。

如果我单击测试面板中“0 测试”右侧的按钮,我仍然可以运行所有测试。当我单击它时,它会开始填充我的所有测试,它们似乎仍然可以正常运行。但是,既然测试显示在测试面板中,它们仍然没有链接到我在类中的测试。通常,如果您单击一个测试,它会将您带到它所在的文件中。此功能已消失。

我打开了另一个我保存的旧项目,它遇到了同样的问题。但是,我开始了一个新项目,它运行良好,没有任何问题的迹象。

关于我可能做了什么的任何想法?我在这里找到了一些关于此的其他线程,但他们都没有得到任何有用的回复,并且至少有几个月的历史。希望也许创建一个新线程会再次碰到这个问题。

我的下一个想法是重新开始项目并复制我的文件。不知道还能做什么。

【问题讨论】:

你使用的是 Xcode 6.1.1 吗? 是的,我是。保持最新。 你试过删除你的 DerivedData 和缓存吗? 我没有,但我明天试试。在我看到你的第一个回复之前,把事情关掉一晚。谢谢你的建议。我会更新结果。 ***.com/a/27219484/2303865 【参考方案1】:

我有同样的问题,我所有的方法都有测试前缀。

所以,问题似乎出在 Xcode 索引上,因为有些目标可以看到所有测试,有些则不能。要创建新索引,请按照以下步骤操作:

    退出 Xcode 转到~/Library/Developer/Xcode/DerivedData/ 删除此文件夹。您可以使用rm -rf YourProjectDir

完成!当您打开项目时,等待重新索引,测试应该会像往常一样出现。

【讨论】:

摇头。为我工作。啊,更多 Xcode 的可爱之处!实际上,我做了 rm -rf * 我讨厌 XCode,使用 10gb 并且充满了 bug。【参考方案2】:

所有测试方法都以“test”开头:

func testValidateStudent()

    // your code

确保您的测试方法以“test”开头。

【讨论】:

【参考方案3】:

测试标记的显示似乎取决于当前方案以及测试是否与该方案匹配。

(我在 Xcode 11 中进行了测试,不确定最初提出问题的时间。在我的情况下,我必须清除派生数据以使测试标记再次出现,然后注意到方案依赖性。当我将同名的测试添加到两个不同的测试目标时,可能会触发问题。)

有关具有 ios 和 tvos 目标的项目,请参见下面的屏幕截图。例如,iOS 目标的测试(在屏幕截图的左侧)只有在选择 iOS 目标/方案时才会被标记。在这种情况下,tvos 测试(在屏幕截图的右侧)不会显示标记。切换方案(左上角的红色标记)将隐藏左侧文件中的 iOS 测试标记,并显示右侧文件中的 tvos 测试标记。

【讨论】:

以上是关于Xcode 不再识别测试的主要内容,如果未能解决你的问题,请参考以下文章

Xcode单元测试不识别零?

swift 4.2 的 Xcode 10 视觉识别问题

如何在 Xcode UI 测试中识别控制中心元素?

如何快速将核心数据托管对象数组转换为“可识别”列表? (Xcode 11,测试版 5)

XCode 5.1 Beta 4 无法识别 iOS 7.1 Beta 4 测试设备

xcode不识别iphone