当前位置:  开发笔记 > 编程语言 > 正文

单元测试Objective-C代码的最佳方法是什么?

如何解决《单元测试Objective-C代码的最佳方法是什么?》经验,为你挑选了14个好方法。

单元测试Objective-C代码有哪些框架?我想要一个与Apple Xcode很好地集成的框架.



1> Chris Hanson..:

Xcode包括XCTest,它类似于OCUnit,一个Objective-C单元测试框架,并且完全支持在项目的构建过程中运行基于XCTest的单元测试.Xcode 概述:使用单元测试中描述了Xcode的单元测试支持.

回到Xcode 2天,我写了一系列关于如何使用Xcode单元测试执行一些常见任务的博客帖子:

单元测试Cocoa框架

调试Cocoa框架单元测试

单元测试Cocoa应用程序

调试Cocoa应用程序单元测试

尽管使用OCUnit而不是XCTest,但概念基本相同.

最后,我还写了一些关于如何为Cocoa用户界面编写测试的帖子; Cocoa的结构方式使它相对简单,因为在大多数情况下你不必旋转事件循环或类似的东西.

信任但要验证.

单元测试Cocoa用户界面:Target-Action

单元测试Cocoa用户界面:Cocoa Bindings

这使得不仅可以对模型级代码进行测试驱动开发,还可以对控制器级甚至视图级代码进行测试驱动开发.


Peter Hosey还在12月份的CA Cocoaheads会议上对Lake Forest的可可单元测试做了很好的介绍.这是一段视频:http://vimeo.com/2725498
Xcode 5现在有XCTest还包括OCUnit吗?您是否会使用XCode 5的信息更新您的答案.
Xcode单元测试指南链接已移至[Xcode单元测试指南](http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/UnitTesting/00-About_Unit_Testing/about.html)

2> Paul Robinso..:

查看Gabriel Handford的GHUnit:

"GHUnit的目标是:

在XCode中运行单元测试,允许您充分利用XCode调试器.一个简单的GUI,可以帮助您可视化您的测试.显示堆栈跟踪.可以通过简单(或不是)目标设置作为框架(对于Cocoa应用程序)进行安装; 或者很容易打包到你的iPhone项目中."


GHUnit +1!我是iPhone开发的新手,我可以老实说,与OCUnit的绝对噩梦和GTM的轻度偏头痛相比,我的GHUnit运行并没有大惊小怪(说明是完美的).GHUnit因可用性和易用性而获胜!
请注意,这个答案和附带的评论是在不久前写的.Xcode现在可以更好地支持基于OCUnit的测试,可以轻松设置测试并在调试器中运行它们.
实际上我很久以前就去了新西兰进行单元测试.

3> Ryan Townshe..:

我开始使用适用于iPhone的Google工具箱测试平台,它的功能非常适合我.

谷歌工具箱换MAC



4> Mike Caron..:

查看OCUnit.Apple的开发者网络有很好的介绍.



5> Clint Harris..:

请注意,Google Toolbox for Mac(GTM)项目只是扩展/扩充Apple的SenTestingKit框架(它本身基于OCUnit).正如他们在项目网站上所说:

GTM对标准SenTestingKit进行了多项增强,允许您在iPhone上进行UI单元测试,自动绑定单元测试,日志跟踪和单元测试,以及对代码进行静态和动态测试的工具.

请注意以下有关用户界面测试的注释:

GTM广泛支持用户界面单元测试.它支持测试几乎所有标准Cocoa/UIKit UI对象的映像和/或内部状态,并使您可以轻松地将此支持扩展到您自己的UI对象.

有关如何使用它的说明,请参阅其" 代码验证和单元测试 "页面.



6> Johannes Rud..:

我得出的结论是,GHUnit是Objective-C最先进的测试框架.我在我的博客上做了一个测试框架的综合.它在部署(iphone,模拟器或mac os native)和断言功能方面是最灵活的.因为它基于GTM,它继承了GTM相对于SenTestingKit的所有优势,但也增加了很多.另一个好处是它正在非常积极地维持.

我已经努力将OCMock整合到GHUnit中,效果很好!你可以在github上获得代码.



7> Adam Milliga..:

我意识到这是一个老问题,但如果您更喜欢BDD风格的测试(rspec,Jasmine等)而不是xUnit风格的测试(Test :: Unit,JSUnit,JUnit等),那么您可以考虑查看Cedar.Cedar为Objective-C带来了BDD风格的测试,现在该语言支持闭包.

我们很高兴将Cedar用于Pivotal Labs的 iOS项目,我们正积极致力于改进它.欢迎随时通过cedar-discuss@googlegroups.com提出任何反馈或建议



8> Nikita Zhuk..:

我还建议使用覆盖工具来查看单元测试涵盖哪部分代码,哪些不是.可以使用GCOV工具生成基本行和分支代码覆盖率.如果你想生成漂亮的HTML覆盖率报告,那么LCOV和ZCOV就是这样做的.



9> nst..:

Sen:te(Xcode附带的测试框架的创建者)解释了如何将OCUnit与iPhone项目结合使用:simple-iphone-ipad-unit-test.



10> Joel Levin..:

我推荐gh-unit,它有一个很好的GUI测试结果.

http://github.com/gabriel/gh-unit/tree/master



11> Steph Thirio..:

xcode中的单元测试支持(简单设置)与ocrunner(对于某些autotest/Growl良好)相结合,是目前我最喜欢的Obj-C单元测试设置.



12> 小智..:

这里有很多

Objective-C中的List_of_unit_testing_frameworks



13> Mihir Mathur..:

Cocoa with Love的Matt Gallagher有一篇关于单元测试的非常好的文章.



14> 小智..:

我建议调查Kiwi,一个用于iOS的开源BDD测试框架: Kiwi

看看项目的WIKI开始或者获得Daniel Steinberg的书"用Kiwi测试推动iOS开发" 测试驱动ios开发

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有