Xcode不再识别测试

时间:2014-12-10 05:36:42

标签: objective-c xcode unit-testing swift

我已经对这个问题进行了几天的故障排除,而且完全没有想法。

我在Xcode中使用单元测试,它运行良好。突然间,Xcode不再能够识别我的测试。如果我去测试面板,它表明我没有测试。我实际上有13个。

现在,运行单个测试或某些类的能力已经消失。它不会显示编辑区域中的按钮。

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

我打开了另一个我保存过的旧项目,它遇到了同样的问题。但是,我开始了一个新项目,它工作得很好,没有出现任何问题的迹象。

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

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

3 个答案:

答案 0 :(得分:6)

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

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

  1. 退出Xcode
  2. 转到~/Library/Developer/Xcode/DerivedData/
  3. 删除此文件夹。您可以使用rm -rf YourProjectDir
  4. 完成!当您打开项目等待重建索引时,测试应该照常显示。

答案 1 :(得分:5)

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

func testValidateStudent()
{
    // your code
}

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

答案 2 :(得分:1)

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

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

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

enter image description here