深度解析iPhone中项目单元测试

移动开发 iOS
本文介绍的是深度解析iPhone中项目单元测试,主要介绍了两种测试方法,先来看内容。

深度解析iPhone中项目单元测试是本文要介绍的内容,在XcodeiPhone SDK 3.0之后,已经内置了单元测试的功能,开发者可以借助单元测试写出更健壮更正确的代码。

文章使用的SDK版本是3.2.3。 Xcode提供了两种单元测试方式,分别是逻辑测试与应用测试,逻辑测试用于检验那些独立无环境限制的函数,正是如此,逻辑测试无需启动模拟器或真机,直接在build阶段就完成了。应用测试用于检测你的iPhone应用程序,可以测试包括界面操作等各方面行为。

逻辑测试

建立逻辑测试步骤:

在iPhone项目里添加一个新target,并选择iPhone OS-Cocoa Touch-Unit Test Bundle,然后命名并直接添加到哪个iPhone项目下。

设置单元测试的target为当前激活的target

为了整理方便,可新建组专门放置测试文件。添加测试文件选择添加新文件,并选择iPhone OS-Cocoa Touch Class-Objective-C test case class,在后续的命名时特别注意要添加到单元测试的target上,且只可勾选一个。

新建完毕后,将测试文件修改为如下形式:

Objective-c代码 

  1. // 头文件     
  2. #import <SenTestingKit/SenTestingKit.h>     
  3. #import <UIKit/UIKit.h>     
  4.     
  5. @interface testfirst : SenTestCase      
  6. {     
  7.       
  8. }     
  9.       
  10. - (void)testFirst;     
  11. @end     
  12.       
  13. // 实现文件     
  14. @implementation testfirst      
  15. int get(int i)     
  16. {     
  17.     return i;     
  18. }     
  19.     
  20. - (void)testFirst     
  21. {     
  22.     STAssertTrue(get(0), @"Must Fail");     
  23. }     
  24.       
  25. @end    
  26.  
  27. // 头文件  
  28. #import <SenTestingKit/SenTestingKit.h> 
  29. #import <UIKit/UIKit.h> 
  30.  
  31. @interface testfirst : SenTestCase   
  32. {  
  33.    
  34. }  
  35.    
  36. - (void)testFirst;  
  37. @end  
  38.    
  39. // 实现文件  
  40. @implementation testfirst   
  41. int get(int i)  
  42. {  
  43.     return i;  
  44. }  
  45.  
  46. - (void)testFirst  
  47. {  
  48.     STAssertTrue(get(0), @"Must Fail");  
  49. }  
  50. @end 

注意需要导入SenTestingKit的framework,此framework不在列表中,添加时需要指定路径,在本机上是/Developer/Library/Frameworks/SenTestingKit.framework

逻辑测试步骤:

选择build,如果没有错误,则编译成功,如果有错误,则Xcode编译失败,并指出错误之处。

测试的函数签名必须是(void)testXXX;

小结:深度解析iPhone中项目单元测试的内容介绍完了,希望本文对你有所帮助,更多内容请参考编辑推荐。

责任编辑:zhaolei 来源: 互联网
相关推荐

2021-09-03 08:57:59

Swift强制解析

2017-01-14 23:42:49

单元测试框架软件测试

2017-03-28 12:25:36

2010-02-07 15:42:46

Android单元测试

2009-06-26 17:48:38

JSF项目单元测试JSFUnit

2017-01-14 23:26:17

单元测试JUnit测试

2017-01-16 12:12:29

单元测试JUnit

2021-09-18 15:40:03

Vue单元测试命令

2022-12-08 08:01:02

Python测试单元

2020-08-18 08:10:02

单元测试Java

2017-03-23 16:02:10

Mock技术单元测试

2023-07-26 08:58:45

Golang单元测试

2021-05-05 11:38:40

TestNGPowerMock单元测试

2011-07-04 18:16:42

单元测试

2020-05-07 17:30:49

开发iOS技术

2022-10-26 08:00:49

单元测试React

2011-05-16 16:52:09

单元测试彻底测试

2023-12-11 08:25:15

Java框架Android

2022-05-09 08:55:52

ORMMockGo

2024-10-16 16:09:32

点赞
收藏

51CTO技术栈公众号