对Objective-C代码进行单元测试的框架是什么?我想要一个框架,很好地集成与苹果Xcode。
当前回答
我得出的结论是GHUnit是Objective-C最先进的测试框架。我已经在我的博客上做了一个测试框架的综述。它在部署(iphone、模拟器或mac os本机)和断言功能方面是最灵活的。因为它是基于GTM的,所以它继承了GTM相对于SenTestingKit的所有优势,但也添加了更多。另一个好处是,它得到了非常积极的维护。
我已经进行了努力,将OCMock集成到GHUnit中,它工作得很好!你可以在github上获得代码。
其他回答
我希望你能使用“SenTestKit”,从中你可以测试每一种方法。
我开始使用谷歌工具箱测试iPhone,它的工作对我来说很棒。
google-toolbox-for-mac
看看Gabriel Handford的GHUnit:
GHUnit的目标是: 在XCode中运行单元测试,允许 你要充分利用XCode 调试器。一个简单的GUI来帮助你 想象你的考试。显示堆栈 痕迹。作为框架可安装 (对于Cocoa应用程序)使用简单的(或 不是)目标设置;或易于包装 加入你的iPhone项目。”
注意,谷歌Toolbox for Mac (GTM)项目只是扩展/增强了苹果的SenTestingKit框架(它本身基于OCUnit)。就像他们在项目网站上说的:
GTM有几个增强 标准的SenTestingKit允许你 做UI单元测试,自动绑定 单元测试、日志跟踪和单元 在iPhone上进行测试 做静态和动态的工具 代码测试。
请注意以下关于用户界面测试的注释:
GTM对用户有广泛的支持 接口单元测试。它支持 同时测试成像和/或 内部状态几乎都有了 标准Cocoa/UIKit UI对象,以及 让你很容易扩展它 支持你自己的UI对象。
关于如何使用它,请参阅他们的“代码验证和单元测试”页面。
Xcode包含XCTest,它类似于OCUnit,一个Objective-C单元测试框架,并且完全支持在项目构建过程中运行基于XCTest的单元测试。Xcode的单元测试支持在Xcode概述:使用单元测试中有描述。
回到Xcode 2天,我写了一系列关于如何用Xcode单元测试执行一些常见任务的博客文章:
单元测试Cocoa框架 调试Cocoa框架单元测试 单元测试Cocoa应用程序 调试Cocoa应用程序单元测试
尽管使用OCUnit而不是XCTest,但概念在很大程度上是相同的。
最后,我还写了几篇关于如何为Cocoa用户界面编写测试的文章;Cocoa的结构方式使得它相对简单,因为在大多数情况下你不需要旋转事件循环或类似的东西。
信任,但要验证。 单元测试Cocoa用户界面:目标-操作 单元测试Cocoa用户界面:Cocoa Bindings
这使得不仅可以对模型级代码进行测试驱动开发,还可以对控制器级甚至视图级代码进行测试驱动开发。
推荐文章
- Xcode 4挂在“附加到(应用程序名称)”
- 单元测试:日期时间。现在
- 为什么单元测试中的代码不能找到包资源?
- 从导入的模块中模拟函数
- 以编程方式创建segue
- 在单元测试中设置HttpContext.Current.Session
- 在Objective-C中@synchronized如何锁定/解锁?
- Xcode 10的对象库去哪了?
- 何时使用Mockito.verify()?
- 在PHP单元测试执行期间,如何在CLI中输出?
- 单元测试的一些常用命名约定是什么?
- Xcode 10的UI元素在哪里?
- Xcode构建失败“架构x86_64未定义的符号”
- 如何使用Xcode创建。ipa文件?
- 我可以在没有“构建和运行”的情况下启动iPhone模拟器吗?