xcode 5 使用 XCTest 做单元测试
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 做单元测试的更多相关文章
- Xcode 5 单元测试(一)使用XCTest进行单元测试
在Objc.io #1的Testing View Controllers中讲解的就是单元测试的相关内容.本文说下如何通过Xcode 5中集成的XCTest框架进行简单的单元测试. 什么是单元测试 首先 ...
- 在XCode中使用XCTest
测试驱动开发并不是一个很新鲜的概念了.在我最开始学习程序编写时,最喜欢干的事情就是编写一段代码,然后运行观察结果是否正确.我所学习第一门语言是c语言,用的最多的是在算法设计上,那时候最常做的事情就是编 ...
- 【转】使用XCODE 的SOURCE CONTROL 做版本控制 (1)
原文网址:http://it.zhaozhao.info/archives/60469 有一次笔者在开心项目准备尝试新的练习的时候,赫然注意到在选择档案存放位置的时候,下面有个Source Contr ...
- spring junit 做单元测试,报 Failed to load ApplicationContext 错误
spring junit 做单元测试,报 Failed to load ApplicationContext 错误. 查找了好一会,最后发现.@ContextConfiguration(locatio ...
- 使用python做你自己的自动化测试--对Java代码做单元测试 (2)-导入第三方jar包裹
使用Jython对Java做单元测试,当然,为了测试开发java代码.这涉及到引入第三包的问题,如何导入第三方的包? 您可以使用http://blog.csdn.net/powerccna/artic ...
- 使用karma+jasmine做单元测试
目的 使用karma和jasmine来配置自动化的js单元测试. Karma和Jasmine Karma是由Angular团队所开发的一种自动化测试工具.链接:http://karma-runner. ...
- 使用MS Test做单元测试
声明:本篇博客翻译自:http://www.c-sharpcorner.com/article/unit-testing-with-ms-tests-in-c-sharp/ 写在翻译之前: 依然清晰的 ...
- 持续集成之单元测试篇——WWH(讲讲我们做单元测试的故事)
持续集成之单元测试篇--WWH(讲讲我们做单元测试的故事) 前言 临近上线的几天内非重大bug不敢进行发版修复,担心引起其它问题(摁下葫芦浮起瓢) 尽管我们如此小心,仍不能避免修改一些bug而引起更多 ...
- Web项目如何做单元测试
你可能会用单元测试框架,python的unittest.pytest,Java的Junit.testNG等. 那么你会做单元测试么!当然了,这有什么难的? test_demo.py def inc(x ...
随机推荐
- serializable parcelable
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 在使用 内存的 时候,parcelable 比 serializable 性能高. pa ...
- 51nod1515 明辨是非 并查集 + set
一开始想的时候,好像两个并查集就可以做......然后突然懂了什么.... 相同的并查集没有问题,不同的就不能并查集了,暴力的来个set就行了..... 合并的时候启发式合并即可做到$O(n \log ...
- luogu P4137 mex
题面: 有一个长度为$n$的数组${a1,a2,…,an}$.$m$次询问,每次询问一个区间内最小没有出现过的自然数. 令$lst[i][r]$表示在$[1, r]$中数值$i$最后出现的位置 那么, ...
- UOJ #35. 后缀排序 后缀数组 模板
http://uoj.ac/problem/35 模板题,重新理了一遍关系.看注释吧.充分理解了倍增的意义,翻倍之后对上一次排序的利用是通过一种类似于队列的方式完成的. #include<ios ...
- spark1.0.0 mllib机器学习库使用初探
本文机器学习库使用的部分代码来源于spark1.0.0官方文档. mllib是spark对机器学习算法和应用的实现库,包括分类.回归.聚类.协同过滤.降维等,本文的主要内容为如何使用scala语言创建 ...
- JAVA对数字证书的常用操作(转载)
一:需要包含的包 import java.security. * ; import java.io. * ; import java.util. * ; import java.security. * ...
- leetcode76. Minimum Window Substring
leetcode76. Minimum Window Substring 题意: 给定字符串S和字符串T,找到S中的最小窗口,其中将包含复杂度O(n)中T中的所有字符. 例如, S ="AD ...
- 在pcDuino上使用蓝牙耳机玩转音乐
1.资源 pcDuino板子一个.HDMI to VGA线一条.电源线一条.USB hub一个.显示器.鼠标.键盘.蓝牙适配器.蓝牙耳机. 2.资源已经到位,让我们开始吧 1.在ubuntu上安装蓝牙 ...
- 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 ...
- 关于DSP的GPIO的输入输出设置
DSP 28335 的 GPIO的输入设置: GPIO的输入设置时,除了将此GPIO设置为输入之外,还需要将此GPIO口的电平拉高 //RXD3 GpioCtrlRegs.GPBMUX2.bit.GP ...