关于iOS单元测试几点Tips

发表于:2017-12-15 13:33

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Haofree    来源:51Testing软件测试网采编

  一、单元测试有什么好处?
  单元测试使用前后对比.png
  1.单元测试使工作完成的更轻松
  2.经过单元测试的代码,质量能够得到保证
  3.单元测试发现的问题很容易定位。
  4.修改代码犯的错,经过单元测试易发现
  5.测试可以在早期就发现性能问题
  6.单元测试使你的设计更好
  7.大大减少花在调试上的时间
  二、作为菜鸟我用单元测试测什么?
  既然单元测试这么多好处,作为菜鸟我能做什么呢?
  ◆不是所有的方法都需要测试。
  例如:私有方法不需要测试!只有暴露在 .h 中的方法需要测试!面向对象有一个原则:开闭原则!
  ◆ 所有跟 UI 有关的都不需要测试,也不好测试。
  把业务逻辑 代码封装出来!变成可以测试的代码,让程序更加健壮!
  ◆ 一般而言,代码的覆盖度大概在 50% ~ 70%
  三、那单元测试代码覆盖率又是什么鬼?
  单元测试代码覆盖率如何统计的呢?如果一个新建的单元测试想要查看显示代码覆盖率,要怎么做呢?
  1、修改test target的Build Setting中Generate Test Coverage Files 和Instrument Program Flow为YES;
  2、在test target的Build Phases中的Compile Sources中添加需要被测量代码覆盖率的文件(.m,.mm)。
  注意:不需要测量代码覆盖率之前,test target中只需要包含。
  AFNetworking单元测试代码覆盖率.png
  如上图,一旦这个测试通过了,你就能知道 checkWord 这个方法,至少有一条路径是对的。但你不知道的是,还多多少没有被测试到。这就是code coverage这个工具的好处。当你打开code coverage tab后,你可以清楚的看到测试的覆盖情况。他们按找 target, file, function 进行了自动分组。
  打开Xcode左边窗口的Report Navigator面板,选中你刚运行的测试。然后在tab中选中 Coverage。这会展示一个你的类、方法的列表,并标示出每个的测试覆盖率。如果你将鼠标悬停在checkWord这个方法上,你可以看到测试的覆盖率是28%。双击方法的名字,Xcode会打开类的代码,并且看到code coverage的情况。
  四、如何建单元测试环境呢?
  关于如何建单元测试环境,很多文章都有描述,而且都有操作配图,可以自行查阅。相关文章-单元测试入门.
  包括:
  1、 单元测试的运行;
  2、单元测试框架说明;
  3、单元测试简单案例的实践。
  注意:有第三方依赖的,单元测试也要配置依赖环境。

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号