对Objective-C代码进行单元测试的框架是什么?我想要一个框架,很好地集成与苹果Xcode。
当前回答
注意,谷歌Toolbox for Mac (GTM)项目只是扩展/增强了苹果的SenTestingKit框架(它本身基于OCUnit)。就像他们在项目网站上说的:
GTM有几个增强 标准的SenTestingKit允许你 做UI单元测试,自动绑定 单元测试、日志跟踪和单元 在iPhone上进行测试 做静态和动态的工具 代码测试。
请注意以下关于用户界面测试的注释:
GTM对用户有广泛的支持 接口单元测试。它支持 同时测试成像和/或 内部状态几乎都有了 标准Cocoa/UIKit UI对象,以及 让你很容易扩展它 支持你自己的UI对象。
关于如何使用它,请参阅他们的“代码验证和单元测试”页面。
其他回答
我知道这是一个老问题,但是如果您更喜欢bdd风格的测试(rspec、Jasmine等)而不是xunit风格的测试(Test::Unit、JSUnit、JUnit等),那么您可以考虑使用Cedar。既然Objective-C语言支持闭包,那么Cedar就为Objective-C带来了bdd风格的测试。
我们很高兴在Pivotal Labs的iOS项目中使用Cedar,我们正在积极改进它。任何反馈或建议都欢迎访问cedar-discuss@googlegroups.com
Xcode包含XCTest,它类似于OCUnit,一个Objective-C单元测试框架,并且完全支持在项目构建过程中运行基于XCTest的单元测试。Xcode的单元测试支持在Xcode概述:使用单元测试中有描述。
回到Xcode 2天,我写了一系列关于如何用Xcode单元测试执行一些常见任务的博客文章:
单元测试Cocoa框架 调试Cocoa框架单元测试 单元测试Cocoa应用程序 调试Cocoa应用程序单元测试
尽管使用OCUnit而不是XCTest,但概念在很大程度上是相同的。
最后,我还写了几篇关于如何为Cocoa用户界面编写测试的文章;Cocoa的结构方式使得它相对简单,因为在大多数情况下你不需要旋转事件循环或类似的东西。
信任,但要验证。 单元测试Cocoa用户界面:目标-操作 单元测试Cocoa用户界面:Cocoa Bindings
这使得不仅可以对模型级代码进行测试驱动开发,还可以对控制器级甚至视图级代码进行测试驱动开发。
Specta是一个现代的TDD(测试驱动开发)/BDD(行为驱动开发)框架,它运行在XCTest之上。它支持iOS和Mac OS X项目的单元测试。
看看OCUnit。苹果的开发者网络有一个很好的介绍。
我使用SimpleUnitTest工作与iPhone和iPad lib。
http://cbess.blogspot.com/2010/05/simple-iphone-ipad-unit-test.html
它带有一个单元测试Xcode模板,可以轻松添加单元测试类。包装GTM。
您可以将其放入活动项目中,并在3分钟(或更短时间)内开始添加单元测试。
推荐文章
- Objective-C中方法混合的危险是什么?
- python中的assertEquals和assertEqual
- 如何使用接口生成器创建的nib文件加载UIView
- iOS如何设置应用程序图标和启动图像
- 如何设置回退按钮文本在Swift
- 模拟器慢动作动画现在打开了吗?
- 如何比较两个nsdate:哪个是最近的?
- 使UINavigationBar透明
- 删除/重置核心数据中的所有条目?
- Swift to Objective-C头未在Xcode 6中创建
- setNeedsLayout vs. setNeedsUpdateConstraints和layoutIfNeeded vs. updateConstraintsIfNeeded
- 不区分大小写的比较
- iOS应用程序“应用程序无法验证”只在一台设备上
- 是否可以在Xcode 5上安装iOS 6 SDK ?
- 使用Mockito测试抽象类