Xcode 6.3.2运行所有测试而不是我选择的测试(KIF)

时间:2015-05-29 20:15:25

标签: xcode swift xcode6 kif kif-framework

此问题类似于:XCode run all the tests (even the disabled ones)

但不同之处在于我没有禁用任何测试。我只是按下测试功能或测试用例旁边的单个测试图标:

Xcode 6.3.2 runs all the tests instead of just the one I selected KIF

我的一个朋友正在像我一样在Swift项目中运行KIF并且对此没有任何问题。我猜它与我的设置有关:

我有一个主xcworkspace文件,其中包含我的主要目标,单元测试目标和自动测试目标(包含KIF测试)。工作区还使用框架进行pods项目。而已。这是我的方案设置:

Scheme config 1

Scheme config 2

我在Xcode 6的所有已发布版本中都遇到过这个问题。

修改

我暂时找到了解决方法。

您必须修改每个测试类(空格更改很好)。这将触发Xcode索引这些文件并识别测试和测试用例并生成符号&测试导航器中的图标。 (建议首先删除派生数据以删除任何“重影测试”。)

如果不对每个测试用例类执行此操作,即使您只选择一个要运行的测试,所有无法识别的测试用例类也将始终运行。

一旦强制Xcode识别所有测试类,您就可以成功运行单个测试。 (或者单个测试用例,如果你选择那个。)

我还注意到在尝试修复此问题时,默认UnitTests目标的符号和索引工作正常。所以有一个问题:a)有第二个测试目标或b)我的第二个测试目标元信息是否已损坏或c)我错误地设置了我的第二个测试目标。

1 个答案:

答案 0 :(得分:0)

该课程旁边的测试图标不适用于单个测试。

与方法测试图标(仅测试自身)不同,类测试图标运行测试类中的所有测试。

删除项目的派生数据。您可以通过关闭项目,打开Window-> Projects,然后选择项目来完成此操作。点击派生数据路径右侧的删除按钮。