`
beike
  • 浏览: 360042 次
社区版块
存档分类
最新评论

在Xcode的iPhone项目中使用单元测试

阅读更多

在Xcode的iPhone项目中使用单元测试

 

en: http://developer.apple.com/mac/articles/tools/unittestingwithxcode3.html

教程 : http://6tringle.com/blog/

 

完美的软件来自专业乃至苛刻的测试,提醒一下自己逐渐提高对自己的要求。分享一下在Xcode的iPhone项目中做单元测试的方法。iPhone SDK 2.2 开始支持使用 SenTestingKit.framework进行单元测试

第一步,新建UnitTest Target

鼠标右键点Target,Add->NewTarget



选择Cocoa Unit Test Bundle



第二步,配置 UnitTest Target
( Mac OS X 项目跳过此项,iPhone only )

因为iPhone上没有Cocoa.h, 因此删除相关的配置

1. 双击 UnitTest Target, 打开target的属性"Build'页,删除所有的User-Defined项,以及Other Linker Flags
2. 切换到 "General" 页,添加两个Foundation.framework和SenTestingKit.framework到Unit Test Target




第三步,新建Test Cases

1. 把 /Developer/Library/SenTestingKit.framework 加入项目
2. 新建 Objective C test case classes



这是一个从SenTestCase继承的class,假设新建的文件是 MyTests.h MyTests.m, 把MyTests.m修改成如下


#import "MyTest.h"
#if !TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR

@implementation MyTest

- (void)testFooBar {
STAssertEquals (1 + 1, 2, @"");
STAssertEquals (1 + 1, 3, @"");     //明显的Test Cases错误 2<>3
}

@end
#endif



注意:如果非iPhone项目,可以不需要那个 #if 的宏,这段宏是确保 在非iPhone Simulator 的环境下 Test Cases无效,SenTestingKit.framework暂时不支持device

深入的Test Cases的写法参见这里

第四步,运行Test Cases

准确的说Test Cases不需要运行,编译的时候就运行了。尝试 Build Unit Test Target, 你会直接得到一个错误,就像编译错误一样显示在Xcode里面。



因为实际上Build target的过程就运行了SenTestngKit的脚本。

为了日常使用方便,可以在App的Target加上Unit Test的denpendency, 这样,每次Build and Go的时候Test Cases都会运行一次,如果有错,马上会停下来,显示错误。



That's all. 更多关于Test Cases写法的资料请在网上搜索OCunit

认真写好Test Cases对于项目长期的维护有难以估量的价值。

分享到:
评论

相关推荐

    iPhone手册-单元测试.pdf

    通过上述过程,我们可以看到单元测试在iPhone应用开发中的重要作用。它不仅有助于发现和修复潜在的问题,还能确保代码的高质量和高稳定性。此外,选择合适的单元测试框架(如GTM),以及合理地组织和编写测试案例,...

    iphone单元测试-使用GHUnit框架

    ### iPhone单元测试—使用GHUnit框架 #### 一、引言 随着移动应用开发的日益成熟,软件质量保障成为开发者关注的重点之一。单元测试作为软件测试的重要组成部分,在提高代码质量和可维护性方面扮演着关键角色。针对...

    iOS 13.6 xcode 真机包iOS 13.6 xcode 真机包

    11. **Unit Testing 和 UI Testing**:Xcode内置了测试工具,用于编写单元测试验证代码逻辑和UI测试验证用户交互。 12. **App Store Connect**:发布应用到App Store的平台,包括提交审核、查看销售报告、管理应用...

    Learn Xcode Tools for Mac OS X and iPhone Development.pdf

    5. **构建与测试**:教授如何配置构建设置,使用Xcode进行单元测试以及自动化测试流程。 6. **性能分析与优化**:介绍Xcode提供的性能分析工具(如Instruments),帮助开发者识别并解决性能瓶颈问题。 7. **版本...

    Xcode 9.3 配置包

    6. **Unit Testing & UI Testing**:Xcode提供了内置的单元测试和UI测试框架,帮助开发者编写和执行测试用例,确保代码质量和应用程序的稳定性。 7. **App Store Connect**:苹果的在线服务平台,用于提交应用、...

    xcode_6_GM.dmg

    6. **测试框架**:Xcode 6改进了内置的测试框架,使得单元测试和UI测试更加便捷,同时引入了UI自动化测试,便于进行大规模应用的测试和调试。 7. **CloudKit集成**:开发者可以利用Xcode 6轻松地将Apple的CloudKit...

    xcode 11.1调试包

    8. **自动化测试**:Xcode 11.1增强了UI测试和单元测试框架,允许开发者编写脚本,自动化执行一系列操作,从而在真机上进行全面的功能验证。 9. **App Store Connect 集成**:开发者可以直接在Xcode中提交应用到App...

    iOS开发时XCode里面的空模板

    在开发过程中,空模板也适用于创建自定义组件或者进行单元测试,因为它没有预设的代码干扰。随着技能的提升,开发者可以在空模板基础上逐渐添加复杂的功能,例如Core Data数据持久化、网络请求、动画效果等。 总的...

    iOS-Xcode制作静态库

    在iOS开发中,Xcode制作静态库是一种常见的技术实践,它可以帮助开发者封装代码,提高代码重用性,减少项目体积,提升应用性能。本篇将详细介绍如何使用Xcode创建和使用静态库。 首先,理解静态库的概念至关重要。...

    Xcode 15.2 真机调试

    9. **测试自动化**:Xcode 15.2可能强化了UI测试和单元测试的能力,让自动化测试成为真机调试的重要部分。 10. **AppClip调试**:对于支持AppClip的项目,Xcode 15.2可能会提供专门的调试工具,帮助开发者测试这个...

    Professional Xcode 3

    7. **测试与性能分析**:了解单元测试、集成测试的实施,以及使用Instruments进行性能分析,识别并优化性能瓶颈。 8. **国际化与本地化**:如何使应用程序支持多语言,包括字符串、日期和货币格式的处理。 9. **...

    iPhone IOS 入门 开发 资料 pdf

    12. **测试与调试**: 使用Xcode内置的Instruments工具进行性能分析,以及利用单元测试和UI测试确保代码质量。 13. **App Store发布流程**: 学习如何创建Apple Developer账户,配置证书,以及提交应用进行审核和发布...

    swift-ScreenSizesSimulator使用单个iOS设备来测试所有iPhone尺寸的App

    XCTest提供了各种测试类和方法,包括单元测试、UI测试和性能测试,可以用于测试Swift应用的各个层面。 ScreenSizesSimulator是基于XCTest的一个扩展,专注于模拟不同iPhone屏幕尺寸的UI测试。它通过修改应用的窗口...

    ios应用源码之一些iphone开源项目代码iphone-tris 2018127

    8. **测试和调试**:源码可能包含单元测试和集成测试,可以学习如何使用XCTest进行测试。 9. **版本控制**:开源项目通常使用Git进行版本控制,代码中可能存在.git目录,展示项目的提交历史和分支管理。 10. **App...

    iphone 开发中文资料

    最后,你将接触到iOS应用的测试和发布过程,包括使用xcode的内置测试工具进行单元测试和UI测试,以及如何通过App Store Connect提交应用到App Store供用户下载。 总的来说,这份“iphone 开发中文资料”涵盖了从...

    IOS应用源码——一些iPhone开源项目代码iphone-tris.zip

    10. 测试和调试:Xcode提供了强大的测试工具,如单元测试和UI测试,开发者可以利用这些工具确保代码的正确性。调试方面,断点、变量观察、性能分析等都是常用手段。 11. App Store发布:最后,完成的应用需要经过...

    Xcode.3.Unleashed

    6. **调试和测试**:涵盖如何使用Xcode的内置调试器进行代码调试,以及如何编写单元测试和集成测试,确保代码质量。 7. **性能优化**:讨论如何通过分析工具识别并解决性能瓶颈,提高应用程序的运行效率。 8. **...

    iphone 的五子棋程序

    10. **测试**:进行单元测试、集成测试以及真机测试,确保应用在各种设备和iOS版本上的表现稳定。 以上内容涵盖了从项目开发到最终发布的多个环节,展示了开发一款iPhone五子棋应用所需的技术知识和流程。

    【Xcode 4 Unleashed 2nd Edition】[PDF+源代码] [iPhone/iPad/iOS]

    5. **调试与测试**:了解Xcode的调试工具,如Breakpoint、Instruments和Clang静态分析器,以及如何进行单元测试和UI测试。 6. **性能优化**:讲解如何通过代码优化、资源管理和算法改进来提升应用性能。 7. **持续...

Global site tag (gtag.js) - Google Analytics