iOS 开发单元测试,大家开发过程中常用吗,网上资料看了不少,但还是没明白怎么使用,怎么实战呢?

iOS 开发单元测试,大家开发过程中常用吗,网上资料看了不少,但还是没明白怎么使用,怎么实战呢?

苹果的官方demo:
https://developer.apple.com/l...

阅读 2.6k
2 个回答

不经常写,建议买一本书入门

跟别的语言的单元测试差不多,就是按单元(最小模块)测试代码的。比如你写了一个做除法的函数,你可以在测试中传入不同的值来测试是否符合预期的结果,如果传入除数为0,是否返回异常等。
单元测试是保证代码强壮性的一个很有利工具,一般由程序员自己或程序员同事编写。
比如代码中有一个方法,接受几个参数,最终会返回什么值。原理上单元测试时只看这些就够了,不管它内部怎么实现的。但是如果这个方法可能会影响到别的地方的改动,那也要写对应的测试代码。总之就是根据可能的输入、输出、异常、对外影响 写对应的测试用例。
这样一来,如果每个模块都经历了充分的单元测试,最终整合到一起时出错的概率就很小了。程序员在写代码时经常犯错或笔误,所以有IDE的检查功能、静态分析等功能,但是IDE不知道你写的代码实现了什么,语法正确不代表你的功能实现的很完美且不影响其他功能。

我们项目中的通用模块要求80%以上的单元测试覆盖率,而且会交叉review测试代码。
对于整合后的app,因为项目时间都比较紧,一般只会对重要的地方写单元测试,比如网络层、加密解密、动态跳转界面、一些运行时hack方法等。主要的测试手段还是静态分析工具、Instruments等、人眼review代码、测试组黑盒。

iOS写单元测试有很多种方法,网上开源的比较流行的库一般都会有单元测试。要想快速入门,直接看他们的测试代码就行了,一晚上就掌握了。比如 AFNetworking, SDWebImage

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题