使用Xcode进行单元测试 —— 环境配置

来源:互联网 发布:php 二维数组过滤相同 编辑:程序博客网 时间:2024/05/18 14:28

转自 http://42.96.169.71/blog/2013/01/15/shi-yong-xcodejin-xing-dan-yuan-ce-shi/

单元测试,是保证产品质量的一个好方法。 移动产品会经常的更新升级,每次版本更新的时候,都需要花费大量的精力来进行测试。 使用单元测试,则可以减少这类重复性的工作。 能够让测试变得更加自动化并且大幅提高测试的效率。 Xcode 为我们集成了单元测试框架,OCUnit。让我们来看看如何在 Xcode 配置单元测试:

  • 首先按照下面的图示,创建一个新的 target:

  • 在接下来的界面中,按照下图选择,然后点击 Next:

  • 填写相应的名称,然后点击 Finish。

  • 这时候,Xcode 中会新增加一个分组,以你刚才输入的名称命名。

在这里面已经帮我们创建好一个单元测试了,上图中的 test.h 和 test.m 就是 Xcode 为我们创建的测试。

  • 现在我们切换一下 Scheme, 切换到我们新创建的单元测试上,逻辑测试只能在模拟器上面运行,所以运行目标要选择模拟器:

现在,按下 Cmd+U 就可以运行单元测试了。

  • 测试运行完成后,你应该会看到这个情况:

测试失败了,失败的原因很容易发现,我们在 testExample 调用了 STFail 这个宏,从它的名字就可以看出来,一旦调用这个宏,测试就会失败。 所以,我们把这个行代码删除掉,这时候 test.m 这个文件的内容应该是这样:

123456789101112131415161718192021222324
#import "test.h"@implementation test- (void)setUp{    [super setUp];    // Set-up code here.}- (void)tearDown{    // Tear-down code here.    [super tearDown];}- (void)testExample{}@end
  • 修改完代码后,再按下 Cmd+U 重新运行测试,这时候你应该在控制台中看到类似这样的输出:
123456789
2013-01-15 22:22:34.234 otest[7914:303] Unknown Device Type. Using UIUserInterfaceIdiomPad based on screen sizeTest Suite '/Users/mengxiangping/Library/Developer/Xcode/DerivedData/Test-aexhdmmbnjmqrzbolfjyptdprrif/Build/Products/Debug-iphonesimulator/test.octest(Tests)' started at 2013-01-15 14:22:34 +0000Test Suite 'test' started at 2013-01-15 14:22:34 +0000Test Case '-[test testExample]' started.Test Case '-[test testExample]' passed (0.000 seconds).Test Suite 'test' finished at 2013-01-15 14:22:34 +0000.Executed 1 test, with 0 failures (0 unexpected) in 0.000 (0.000) secondsTest Suite '/Users/spring/Library/Developer/Xcode/DerivedData/Test-aexhdmmbnjmqrzbolfjyptdprrif/Build/Products/Debug-iphonesimulator/test.octest(Tests)' finished at 2013-01-15 14:22:34 +0000.Executed 1 test, with 0 failures (0 unexpected) in 0.000 (0.001) seconds

最后一行的内容表示测试成功了。到此为止,你的单元测试环境就搭建成功了。接下来就可以写你自己的测试了。