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

问题描述 投票:45回答:7

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

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

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

iphone ios xcode unit-testing xcode4
7个回答
72
投票

为Xcode 10.2更新了答案。

很高兴你问过这个问题 - 为项目添加测试永远不会太晚!

  1. 在导航器中选择项目,打开目标面板,
  2. 单击目标列表底部的+按钮,
  3. 在iOS选项卡的Test部分下选择iOS Unit Testing Bundle,
  4. 提供所需信息,然后单击“完成”。

就这么简单。 Xcode将为您生成一个目标,一些样板文件,如Info.plist和一个初始测试用例文件。快乐的测试!


10
投票

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

Run tests with cmd-U in xcode


6
投票

Xcode 7 update

方法一

文件>新建>目标...

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

方法二

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

enter image description here

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

Related


5
投票

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


1
投票

正确答案的一些提示:

XCode 6中,它现在变得更加容易,因为您不需要修复任何构建设置。

如果需要,通过单击目标 - > Info - > Bundle Identifier将测试目标上的bundle id更改为正确的。

CMD + U,您的测试将运行。

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


0
投票

[更新为Xcode 10.2]:

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

0
投票

Xcode版本10.2.1

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

enter image description here

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

© www.soinside.com 2019 - 2024. All rights reserved.