将单元测试添加到现有项目中?

时间:2011-07-28 21:12:15

标签: iphone ios xcode unit-testing xcode4

创建XCode 4项目时,它会询问您是否要包含单元测试。但是,如何将它添加到没有它们的项目中呢?

我启动了一个单元测试项目,试图找出它,看起来它和我现有项目之间的唯一区别是新项目中的Test.h和Test.m文件。

但是当我将它们移动到我的旧项目并尝试构建时,它说没有这样的文件或目录:SenTestingKit / SenTestingKit.h。这对我来说看起来像一个框架,但是如果我去构建阶段并尝试添加框架,那么没有一个可用的SenTestingKit :(而新项目只链接常见的嫌疑人:UIKit,CoreGraphics和Foundation,但是没有SenTestingKit。

7 个答案:

答案 0 :(得分:71)

  

为Xcode 10.2更新了答案。

很高兴您提出这个问题 - 将测试添加到项目中永远不会太晚!

  1. 通过在导航器中选择项目
  2. 打开目标面板
  3. 点击目标列表底部的<按钮
  4. 在iOS标签的<测试部分
  5. 下选择 iOS单元测试包
  6. 提供所需信息并点击完成
  7. 就这么简单。 Xcode将为您生成一个目标,一些样板文件,如Info.plist和一个初始测试用例文件。快乐的测试!

答案 1 :(得分:10)

此外,如果您希望能够执行cmd-U来运行测试,则删除为测试包创建的方案,然后编辑主应用程序方案并在测试配置中添加测试包。见这个截图:

Run tests with cmd-U in xcode

答案 2 :(得分:6)

Xcode 7更新

方法一

档案&gt;新&gt;目标...

选择iOS单元测试套件。 (如果要添加UI测试,请选择UI测试包。)

方法二

在Project Navigator中单击您的项目名称。您将看到列出的TARGETS。在屏幕底部按加号(+)按钮并添加iOS单元测试包。

enter image description here

此图片中的测试目标已添加,但您可以看到添加按钮的位置。

相关

答案 3 :(得分:5)

这是非常具有描述性的指导方针: Adding Unit Tests to an existing iOS project with Xcode 4

答案 4 :(得分:1)

有关正确答案的更多提示:

XCode 6中,由于您不需要修复任何构建设置,因此现在要容易得多。

如果需要,可以通过单击目标 - &gt;将测试目标上的软件包ID更改为正确的软件包ID。 Info - &gt; Bundle Identifier

CMD + U,您的测试就会运行。

如果您使用CocoaPods(可能),您还应该将Pod添加到项目的配置中。

enter image description here

答案 5 :(得分:0)

[已针对Xcode 10.2更新]:

  1. 打开您的Xcode项目
  2. 打开目标
  3. 点击“添加目标”按钮
  4. 转到“测试”部分
  5. 选择“ iOS单元测试包”

答案 6 :(得分:0)

Xcode版本10.2.1

  1. 打开Test navigator⌘命令 + 6
  2. + 在底部
  3. New Unit Test Target...
  4. 选择选项

enter image description here

别忘了为Objective-C添加#import "myClass.h"或为Swift测试内部方法添加@testable import module_name