xcode 5 使用 XCTest 做单元测试

什么是单元测试,请看 百度百科 单元测试

一:在xcode5 之前,我们新建项目时,可以选择是否集成单元测试;如今在xcode5,我们新建立的项目默认就已经集成了单元测试和ARC;

xcode5 之后集成的单元测试框架 XCTest.framework

如图,我们用xcode5 新建立一个 名为 StudengManager 的空项目

  • 项目新增加框架 XCTest.framework
  • 项目新增加组 XXXX项目名Test组
  • 新增加 xxxxxTest.m
  • Test.m测试文件没有 .h文件,并且 继承 XCTestCase 类;

项目新建立好之后,我可以用 快捷键 com + u (或是 导航条 --> product --> test) 来启动测试;

如图:出错了,那是默认的,需要开发者 自己实现 相应的 - (void)test开关的方法;

二:有兴趣的可以打开 XCTest.framework 先看一下该框架为我们提供的测试用的api;

如下一些基本的api的使用;

1:如图,我们在项目里添加一个Student类,里面包含 姓名,年龄、是否是男孩 三个属性

2:把 Studen引入到 Test.m文件中使用;

- (void)testExample
{
//创建两个学生对象,并初始化一些属性;
Student *stu1 = [Student new];
Student *stu2 = [Student new]; stu1.name = @"Mike";
stu1.age = ;
stu1.isBoy = YES; stu2.name = @"Lisa";
stu2.age = ;
stu2.isBoy = NO; //测试 是否为 nil
Student *stu3 = [Student new];
stu3.isBoy = YES;
//当姓名为nil时,错误会提示,并显示后面的log
XCTAssertNotNil(stu3.name, @"学生3的姓名不应该为空"); }

这里:

3:XCTAssertTrue和XCTAssertFalse

4:XCTAssertEqual使用

5:你可以建立自己的测试类 ,但要继承 XCTestCase; 并且里面测试方法要是 - (void)test 且以 test开头的;当没有错误 的时候,就会全部变成绿色;

控制台会打印信息:

6:还有关于 TDD 测试驱动开发,请谷歌之!

xcode 5 使用 XCTest 做单元测试的更多相关文章

  1. Xcode 5 单元测试(一)使用XCTest进行单元测试

    在Objc.io #1的Testing View Controllers中讲解的就是单元测试的相关内容.本文说下如何通过Xcode 5中集成的XCTest框架进行简单的单元测试. 什么是单元测试 首先 ...

  2. 在XCode中使用XCTest

    测试驱动开发并不是一个很新鲜的概念了.在我最开始学习程序编写时,最喜欢干的事情就是编写一段代码,然后运行观察结果是否正确.我所学习第一门语言是c语言,用的最多的是在算法设计上,那时候最常做的事情就是编 ...

  3. 【转】使用XCODE 的SOURCE CONTROL 做版本控制 (1)

    原文网址:http://it.zhaozhao.info/archives/60469 有一次笔者在开心项目准备尝试新的练习的时候,赫然注意到在选择档案存放位置的时候,下面有个Source Contr ...

  4. spring junit 做单元测试,报 Failed to load ApplicationContext 错误

    spring junit 做单元测试,报 Failed to load ApplicationContext 错误. 查找了好一会,最后发现.@ContextConfiguration(locatio ...

  5. 使用python做你自己的自动化测试--对Java代码做单元测试 (2)-导入第三方jar包裹

    使用Jython对Java做单元测试,当然,为了测试开发java代码.这涉及到引入第三包的问题,如何导入第三方的包? 您可以使用http://blog.csdn.net/powerccna/artic ...

  6. 使用karma+jasmine做单元测试

    目的 使用karma和jasmine来配置自动化的js单元测试. Karma和Jasmine Karma是由Angular团队所开发的一种自动化测试工具.链接:http://karma-runner. ...

  7. 使用MS Test做单元测试

    声明:本篇博客翻译自:http://www.c-sharpcorner.com/article/unit-testing-with-ms-tests-in-c-sharp/ 写在翻译之前: 依然清晰的 ...

  8. 持续集成之单元测试篇——WWH(讲讲我们做单元测试的故事)

    持续集成之单元测试篇--WWH(讲讲我们做单元测试的故事) 前言 临近上线的几天内非重大bug不敢进行发版修复,担心引起其它问题(摁下葫芦浮起瓢) 尽管我们如此小心,仍不能避免修改一些bug而引起更多 ...

  9. Web项目如何做单元测试

    你可能会用单元测试框架,python的unittest.pytest,Java的Junit.testNG等. 那么你会做单元测试么!当然了,这有什么难的? test_demo.py def inc(x ...

随机推荐

  1. serializable parcelable

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 在使用 内存的 时候,parcelable 比 serializable 性能高. pa ...

  2. 51nod1515 明辨是非 并查集 + set

    一开始想的时候,好像两个并查集就可以做......然后突然懂了什么.... 相同的并查集没有问题,不同的就不能并查集了,暴力的来个set就行了..... 合并的时候启发式合并即可做到$O(n \log ...

  3. luogu P4137 mex

    题面: 有一个长度为$n$的数组${a1,a2,…,an}$.$m$次询问,每次询问一个区间内最小没有出现过的自然数. 令$lst[i][r]$表示在$[1, r]$中数值$i$最后出现的位置 那么, ...

  4. UOJ #35. 后缀排序 后缀数组 模板

    http://uoj.ac/problem/35 模板题,重新理了一遍关系.看注释吧.充分理解了倍增的意义,翻倍之后对上一次排序的利用是通过一种类似于队列的方式完成的. #include<ios ...

  5. spark1.0.0 mllib机器学习库使用初探

    本文机器学习库使用的部分代码来源于spark1.0.0官方文档. mllib是spark对机器学习算法和应用的实现库,包括分类.回归.聚类.协同过滤.降维等,本文的主要内容为如何使用scala语言创建 ...

  6. JAVA对数字证书的常用操作(转载)

    一:需要包含的包 import java.security. * ; import java.io. * ; import java.util. * ; import java.security. * ...

  7. leetcode76. Minimum Window Substring

    leetcode76. Minimum Window Substring 题意: 给定字符串S和字符串T,找到S中的最小窗口,其中将包含复杂度O(n)中T中的所有字符. 例如, S ="AD ...

  8. 在pcDuino上使用蓝牙耳机玩转音乐

    1.资源 pcDuino板子一个.HDMI to VGA线一条.电源线一条.USB hub一个.显示器.鼠标.键盘.蓝牙适配器.蓝牙耳机. 2.资源已经到位,让我们开始吧 1.在ubuntu上安装蓝牙 ...

  9. The New Virtual List Box in Delphi 6 - lbVirtual lbVirtualOwnerDraw

    http://users.atw.hu/delphicikk/listaz.php?id=2471&oldal=52 Problem/Question/Abstract: What are t ...

  10. 关于DSP的GPIO的输入输出设置

    DSP 28335 的 GPIO的输入设置: GPIO的输入设置时,除了将此GPIO设置为输入之外,还需要将此GPIO口的电平拉高 //RXD3 GpioCtrlRegs.GPBMUX2.bit.GP ...