对Objective-C代码进行单元测试的框架是什么?我想要一个框架,很好地集成与苹果Xcode。
当前回答
我还建议使用覆盖工具来查看单元测试覆盖了代码的哪些部分,哪些部分没有。基本的线路和分支代码覆盖可以用GCOV工具生成。如果你想生成漂亮的HTML覆盖报告,有LCOV和ZCOV可以做到这一点。
其他回答
Cocoa with Love的Matt Gallagher有一篇关于单元测试的好文章。
看看OCUnit。苹果的开发者网络有一个很好的介绍。
单元测试支持捆绑在xcode(它的简单设置)结合ocrunner(一些自动测试/咆哮的好处)是目前我最喜欢的Obj-C单元测试设置。
注意,谷歌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
推荐文章
- 如何重置笑话模拟函数调用计数之前,每次测试
- 确保您的项目构建设置正在生成一个dSYM文件。对于所有配置,DEBUG_INFORMATION_FORMAT都应该设置为dwarf-with-dsym
- 如何使用UIVisualEffectView来模糊图像?
- 如何改变时间和时区在iPhone模拟器?
- 我如何知道何时UITableView完成了ReloadData?
- 在Python Django中运行单元测试时,如何禁用日志记录?
- 复制文本到剪贴板与iOS
- 什么是Swift相当于respondsToSelector?
- 如何检查NSString是否以某个字符开始
- 尝试将一个非属性列表对象设置为NSUserDefaults
- 在子目录中测试Golang
- 对于实例消息,接收方类型***是转发声明
- 如果模态ViewController演示样式为UIModalPresentationFormSheet, iPad键盘将不会解散
- 为iOS模拟器构建,但链接框架'****.framework'是为iOS构建的
- 如何象征崩溃日志Xcode?