Xcode 6 Editor无法识别单元测试

Cha*_*der 51 ide unit-testing ios xctest xcode6

我有一个问题,Xcode IDE 6没有正确检测我的swift单元测试用例.当我运行单元测试时,所有测试都被执行了.

但是在IDE中编辑单元测试时无法识别.我必须运行整个单元测试套件才能运行单个测试.

我无法弄清楚我是如何避免这种故障的.

在此输入图像描述

Cha*_*der 56

问题解决了.我所要做的就是启动"Window - > Projects"窗口并删除"派生数据.索引后所有测试都正常工作.

与此同时,苹果正在逐步修复Xcode 6.3编辑器中的错误.

  • 在Xcode 7中为我工作.在删除派生数据后必须关闭Xcode,然后重新启动. (7认同)
  • 在我的版本(6.2)中,它位于文件 - >项目设置下 (3认同)

Ant*_*ine 21

对我来说,修复方法是在所有方法前加上'test'

func arrayResponseCall() 
Run Code Online (Sandbox Code Playgroud)

应该:

func testArrayResponseCall()
Run Code Online (Sandbox Code Playgroud)


Rei*_*eid 13

对我来说,"修复"是添加一个新的测试.我编造了一些废话:

func testThatNothing() {
    XCTAssertTrue(true, "True should be true")
}
Run Code Online (Sandbox Code Playgroud)

当我再次运行测试时,编辑器会识别该文件中的所有测试.我删除了虚假测试,一切都还好.不幸的是我必须在每个文件中执行此操作,但至少它可以工作.希望这有助于某人.


Jay*_*bey 8

以下是此问题的解决方案:

  1. 等一下.有时加载钻石需要时间.在不同文件之间导航,然后移动到它应该出现的相同测试用例.

  2. 清理项目,清理构建文件夹,甚至删除派生数据内容.检查如何安全删除派生数据.

  3. 退出Xcode并再次打开它.

  4. 确保您的测试用例名称以 testFunc_Name

  5. 有时,您的测试用例文件可能包含测试用例以外的功能.在这种情况下,不会出现菱形符号.Remove such function.

在我的情况下,1,3和5解决方案通常对我有用.


Ern*_*Han 6

我也有同样的问题.只需确保每个测试用例都有某种XCTAssert()语句.

func testSomething(){
     XCTAssert(true, "Pass")
}
Run Code Online (Sandbox Code Playgroud)


Ste*_*hen 5

对我来说,我需要在此处添加测试 在此处输入图片说明