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. hdu 1690 Bus System (有点恶心)

    Problem Description Because of the huge population of China, public transportation is very important ...

  2. 常用的JVM配置参数

    一.Trace 跟踪参数 在Eclipse中,如何打开GC的监控日志 选择菜单栏Run -> Run Configurations -> Java Application -> 选择 ...

  3. 加密url

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 可以采用 https 证书 双向 加密验证. 加密到 JNI 里面,还是可以通过抓包工具 ...

  4. [CODE FESTIVAL 2016]Problem on Tree

    题意:给一棵树,对于一个满足以下要求的序列$v_{1\cdots m}$,求最大的$m$ 对$\forall1\leq i\lt m$,路径$(v_i,v_{i+1})$不包含$v$中除了$v_i,v ...

  5. Spring整合Mybatis案例,献给初学的朋友

    今天我们来学习Spring整合Mybatis. 开发环境:Ide:MyEclipse 2017 CI JDK:1.8 首先我们简单的认识下这两个框架 1.Mybatis MyBatis是一个支持普通S ...

  6. 【8.19校内测试】【背包】【卡特兰数】【数位dp】

    早上随便搞搞t1t3就开始划水了,t2一看就是组合数学看着肚子疼...结果t1t3都a了??感天动地. 从小到大排序,从前到后枚举i,表示i是整个背包中不选的物品中代价最小的那个,即i不选,1到i-1 ...

  7. bzoj 3784

    第三道点分治. 首先找到黄学长的题解,他叫我参考XXX的题解,但已经没有了,然后找到另一个博客的简略题解,没看懂,最后看了一个晚上黄学长代码,写出来然后,写暴力都拍了小数据,但居然超时,....然后改 ...

  8. hdu 3081

    二分答案,网络流是否满流判断合法性. #include <cstdio> #include <cstring> #include <queue> #include ...

  9. HDU 5291 Candy Distribution DP 差分 前缀和优化

    Candy Distribution 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5291 Description WY has n kind of ...

  10. wampserver3.1.0安装及配置

    安装篇 环境:win10 64位+wamp3.1.0 为什么安装wamp3.1.0呢?php7早已正式发布了,还没有尝过鲜呢.点击进入wampserver下载地址 本以为下载后,执行exe文件,点ne ...