Xcode不再识别测试

wvyml7n5  于 2022-11-26  发布在  其他
关注(0)|答案(3)|浏览(144)

几天来,我一直在排查这个问题,但毫无头绪。
我在Xcode中使用单元测试,它运行得很好。突然之间,Xcode不再识别我的测试。如果我进入测试面板,它显示我没有测试。实际上我有13个。
运行单个测试或某些类的功能现在消失了,编辑器区域的空白处没有显示按钮。
如果我点击测试面板中“0个测试”右边的按钮,我仍然可以运行我的所有测试。当我点击这个按钮时,它开始填充我的所有测试,它们仍然看起来运行正常。但是,现在测试显示在测试面板中,它们仍然没有链接到类中的测试。通常如果你点击一个测试,它会把你带到它所在的文件中。这个功能已经没有了。
我打开了我保存的另一个旧项目,它也有同样的问题。但是,我开始了一个新项目,它工作得很好,没有任何问题的迹象。
关于我可能做了什么,有什么想法吗?我在这里找到了一些其他的线程,但没有一个得到任何有用的回应,至少有几个月了。希望创建一个新的线程会再次撞上这个。
我的下一个想法是重新开始这个项目,把我的文件复制过来。不知道还能做什么。

yrwegjxp

yrwegjxp1#

我遇到了同样的问题,我的所有方法都有test前缀。
因此,问题出在Xcode索引上,因为有些目标可以看到所有测试,而有些则不能。要创建一个新的索引,请按照以下步骤操作:
1.退出Xcode
1.转到~/Library/Developer/Xcode/DerivedData/
1.移除此文件夹。您可以使用rm -rf YourProjectDir
完成!当您打开项目时,等待重新索引,测试应该照常显示。

tzxcd3kk

tzxcd3kk2#

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

func testValidateStudent()
{
    // your code
}

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

nhaq1z21

nhaq1z213#

测试标记的显示似乎取决于当前方案以及测试是否与该方案匹配。
(我在Xcode 11中测试过这个问题,不确定是什么时候提出的。在我的例子中,我必须清除派生数据,才能让测试标记再次出现,然后我注意到了方案依赖性。当我将同名测试添加到两个不同的测试目标时,可能会触发这个问题。)
请参见下面的屏幕截图,了解iOS和tvos目标的项目。(位于屏幕截图左手)仅在选择iOS目标/方案时才会被标记。(在屏幕截图的右侧)将不会显示标记。切换方案(左上方的红色标记)将隐藏左侧文件中的iOS测试标记,并显示右侧文件中的tvos测试标记。

相关问题