如何从Test导航器中删除Xcode Swift测试类?

时间:2015-04-13 19:15:11

标签: ios xcode unit-testing swift

Xcode Test导航器显示测试用例类的列表。

我想删除一个测试用例类,因为它不再需要了。

我尝试了许多典型方法,例如按删除或寻找" - "图标,或"删除"菜单项,或在Apple Xcode文档中搜索帮助。

我发现了这个解决方法:

  1. 在项目导航器中,从项目中删除该文件并删除该文件。

  2. 退出Xcode并重新启动它。测试导航器似乎忘记了测试类和测试用例,并显示零项。

  3. 运行测试。测试导航器似乎重建了测试类和测试用例列表。

  4. 如果仍然无效,请尝试这些......

    删除Xcode派生数据:

    1. Xcode菜单 - >偏好 - > "位置"图标 - > "派生数据"部分。

    2. 点击微小的灰色圆圈箭头;这将打开Finder并显示DerviedData文件夹。

    3. 删除整个文件夹。

    4. 重建:

      1. 产品菜单 - >清洁。

      2. 产品菜单 - >建立。

      3. 是否有更简单的方法来实现删除测试类的目标?理想情况下,无需重新启动Xcode,或重建项目等?

        相关类型的问题:How can I delete Xcode test cases from the test case view?

        我使用Xcode 6.3和Swift 1.2,如果这有助于了解。

        编辑:在评论中,@ CakeDeveloper指向官方Xcode 6.3 release notes,它描述了一个已知的错误#20373533:

        在此版本的Xcode中不会自动发现Swift测试。将不会显示源编辑器侧栏中的测试注释,并且测试导航器和方案表的Test操作中的测试表将为空。 ...

        这个问题的赏金是针对任何解决方案或更好的解决方法。任何解决方法都可以,例如使用Xcode GUI,或使用命令行xcodebuild,或任何破坏项目文件的shell脚本。

3 个答案:

答案 0 :(得分:5)

如果您只想删除一个测试类,可以单击Project Navigator中的文件名,然后按Delete并移动到Trash。

如果要删除整个测试包,请在Project Navigator中单击项目名称。然后选择您的测试目标。单击底部的减号( - )按钮将其删除。

enter image description here

在您的项目中进行单元测试(和UI测试)是个好主意。因此,如果您想要将它们添加回来,只需单击加号(+)按钮。

另见

答案 1 :(得分:3)

使用Xcode 6.2,我所要做的就是切换到Project导航器,选择文件,然后按删除。然后我点击了"删除参考"出现的确认对话框中的按钮。之后,该文件中的测试立即从Test导航器中消失。重新添加文件后,测试又重新出现了。

我没有必要删除派生数据文件夹,重新启动Xcode等。

再次将文件添加到项目中会立即恢复测试导航器中的测试。

这当然是理想的行为,听起来它在Xcode 6.3中被破坏了,但可能在6.3.1中再次修复。所以真正的答案可能只是你需要升级到6.3.1(或降级到6.2)。

<强>之前:

before files before tests

<强>后:

after files after tests

答案 2 :(得分:2)

您可以使用类目标成员资格复选框轻松地向项目添加和删除测试。在Project Navigator中找到类文件并选择它,然后在Utilities窗格中,单击File Inspector,您将看到一个目标成员资格的复选框。你可以在那里打开和关闭它。 target membership