技术博客http://www.cnblogs.com/ChenYilong/
新浪微博http://weibo.com/luohanchenyilong
单元测试
技术博客http://www.cnblogs.com/ChenYilong/
新浪微博http://weibo.com/luohanchenyilong
要讨论的问题
• 什么是单元测试?
• 单元测试的意义有哪些?
• Xcode下的单元测试。
• 应⽤举例。
什么是单元测试?
单元测试(unit testing):对软件中最⼩可测试单元进⾏检查和验证。 ⼀般⾯面向过程的语⾔言中,基本单元为函数,⾯面向对象的语⾔言中,基本单 元通常是类,其实对于⼀个⼿机上的app来说基本单元也可以是⼀个UI ⻚页⾯面。平时我们写了⼀个函数,执⾏以下看是否正常⼯作,也属于单元 测试。
测试⽤例(test case):对测试任务的描述,体现测试⽅案、⽅法、技 术和策略。内容包括测试 ⽬标、测试环境、输⼊数据、输出数据、测试 步骤、预期结果、测试脚本等。
单元测试的意义有哪些?
1. 它是⼀种检验⾏为,便于我们写出⾼质量代码。
• Xcode下的单元测试。
• 应⽤举例。
什么是单元测试?
单元测试(unit testing):对软件中最⼩可测试单元进⾏检查和验证。 ⼀般⾯面向过程的语⾔言中,基本单元为函数,⾯面向对象的语⾔言中,基本单 元通常是类,其实对于⼀个⼿机上的app来说基本单元也可以是⼀个UI ⻚页⾯面。平时我们写了⼀个函数,执⾏以下看是否正常⼯作,也属于单元 测试。
测试⽤例(test case):对测试任务的描述,体现测试⽅案、⽅法、技 术和策略。内容包括测试 ⽬标、测试环境、输⼊数据、输出数据、测试 步骤、预期结果、测试脚本等。
单元测试的意义有哪些?
1. 它是⼀种检验⾏为,便于我们写出⾼质量代码。
2. 它是⼀种设计⾏为,有利于我们编程能⼒力的提⾼。
3. 它是⼀种⽂文档编写⾏为,让我们的程序有据可依。
Xcode下的单元测试
Xcode内置了OCUnit单元测试框架。在Xcode5之前,建⽴立
项 ⽬的时候有⼀个选项,让我们选择是否建⽴立⼀个含有单元 测试target的项 ⽬,⽽在Xcode5中只要建⽴立⼀个项 ⽬就默认 带有⼀个单元测试的target。
Xcode下的单元测试
Xcode内置了OCUnit单元测试框架。在Xcode5之前,建⽴立
项 ⽬的时候有⼀个选项,让我们选择是否建⽴立⼀个含有单元 测试target的项 ⽬,⽽在Xcode5中只要建⽴立⼀个项 ⽬就默认 带有⼀个单元测试的target。
Xcode下的单元测试
在Xcode5之前,
建⽴立⼀个⼯程的 时候如果没有勾 选单元测试的话 也不要紧,可以 ⾃⼰添加⼀个单 元测试的target。
在弹出选择框中
IOS-->Other---> Cocoa Touch Unit Testing Bundle
Xcode下的单元测试
Xcode下的单元测试
这⾥看似OK,但还是差⼀步,在点击RUN,⻓按后产⽣生
TEST,点击TEST进⾏开启测试时,将产⽣生⼀个提⽰示:The scheme "⼯程名" is not configured for testing. edit the scheme
to enable testing,or cancel the action.
即我们还没有给⼯程配置测试⼯程⾏,点击修改来添加,或
点击取消进⾏结束。
点击Edit Scheme (或菜单中Product->edit Scheme)
Xcode下的单元测试
弹出scheme窗体。选中Test,然后点击+号来没加⼀个scheme 选中之前创建的CoredataDemoTest后点击ADD
Xcode下的单元测试 ⼏几点说明:
1. 在Xcode5中测试类必须继承⾃XCTestCase。在Xcode5之 前测试类必须继承⾃SenTestCase。
2. 测试函数的形式必须是⽆无返回值且以‘test’为前缀, 如:- (void)testLogin;
3. 每个测试⽤例都是从- (void)setUp;开始,进⾏初始化, 以- (void)tearDown结束,释放资源。
Xcode下的单元测试 运⾏测试⽤例:
1. command + u。 2. ⻓按运⾏按钮选择列表中的test;
这⾥看似OK,但还是差⼀步,在点击RUN,⻓按后产⽣生
TEST,点击TEST进⾏开启测试时,将产⽣生⼀个提⽰示:The scheme "⼯程名" is not configured for testing. edit the scheme
to enable testing,or cancel the action.
即我们还没有给⼯程配置测试⼯程⾏,点击修改来添加,或
点击取消进⾏结束。
点击Edit Scheme (或菜单中Product->edit Scheme)
Xcode下的单元测试
弹出scheme窗体。选中Test,然后点击+号来没加⼀个scheme 选中之前创建的CoredataDemoTest后点击ADD
Xcode下的单元测试 ⼏几点说明:
1. 在Xcode5中测试类必须继承⾃XCTestCase。在Xcode5之 前测试类必须继承⾃SenTestCase。
2. 测试函数的形式必须是⽆无返回值且以‘test’为前缀, 如:- (void)testLogin;
3. 每个测试⽤例都是从- (void)setUp;开始,进⾏初始化, 以- (void)tearDown结束,释放资源。
Xcode下的单元测试 运⾏测试⽤例:
1. command + u。 2. ⻓按运⾏按钮选择列表中的test;