IT培训网
当前位置 : IT培训网 > PHP开发 > 交流分享 > 单元测试完美编写技巧全在这了

单元测试完美编写技巧全在这了

时间:2017-12-26 15:46  来源:IT资讯网  作者:IT培训网  已有:名学员访问该课程
如何才能更好的编写出单元测试呢?小编走访多位资深人士收集了十余条单元测试编写指导方针,汇总如下,请将这些方针牢记在心将大有裨益!转给坚持不懈做单元测试的人士,让更多的人受益。

如何才能更好的编写出单元测试呢?小编走访多位资深人士收集了十余条单元测试编写指导方针,汇总如下,请将这些方针牢记在心将大有裨益!转给坚持不懈做单元测试的人士,让更多的人受益。

如何编写出更好的单元测试?

单元测试在最近的工作中使用比较广泛,关于如何编写更好的测试类的准则,要牢记于心。记住,编写糟糕的测试是在浪费时间,并会在以后造成更大的问题,有一定的准则约束,则会让更多的人受用。

编写单元测试准则有哪些?

1、不应该编写成功通过的单元测试-它们应该被写成不通过的。你可以在几分钟内让任何一组测试通过,但这只是在欺骗你自己。

2、测试类应该只测试一个功能-你应该用一个功能去测试一个方法。否则,你会违反了单一职责原则。

3、测试类具备可读性-确保测试类标有注释并且容易理解,就像其他的代码一样。

4、良好的命名规范-再次测试时应该像其他代码一样-便于人们理解。

5、把断言从行为中分离出来-你的断言应该用来检验结果,而不是执行逻辑操作的。

6、使用具体的输入-不要使用任何的自动化测试数据来输入,像date()这些产生的数据会引入差异。

7、把测试类分类,放在不同的地方-从逻辑的角度看,当没有错误指向特定的问题时这更容易去查找。

8、好的测试都是一些独立的测试类-你应该让测试类与其他的测试、环境设置等没有任何依赖。这利于创建多个测试点。

9、不要包含私有的方法-他们都是一些具体的实现,不应该包含在单元测试里。

10、不要连接数据库或者数据源-这是不靠谱的。因为你不能确保数据服务总是一样的并且能够创建测试点。

11、一个测试不要超过一个模拟(mock对象)-我们努力去消除错误和不一致性。

12、单元测试不是集成测试-如果你想测试结果,不要使用单元测试。

13、测试必须具有确定性-你需要一个确定的预测结果,所以,如果有时候测试通过了,但是不意味着完成测试了。

14、保持你的测试是幂等的-你应该能够运行你的测试多次而不改变它的输出结果,并且测试也不应该改变任何的数据或者添加任何东西。无论是运行一次还是一百万次,它的效果都应该是一样的。

15、测试类一次仅测试一个类,测试方法一次仅测试一个方法-组织方法能够在问题出现时检测出来,并帮你确定测试依赖。

16、在你的测试里使用异常-你在测试里会遇到异常,所以,请不要忽略它,要使用它。

17、不要使用你自己的测试类去测试第三方库的功能-大多数好的库都应该有它们自己的测试,如果没考虑用mocks去产生一致性的结果的话。

18、限制规则-当在一些规则下写测试时,记住你的限制和它们(最小和最大)设置成最大的一致性。

19、测试类不应该需要配置或者自定义安装-你的测试类应该能够给任何人使用并且使它运行。“在我的机器上运行”不应该出现在这。

十九条编写单元测试技巧分享于你,希望这些准则能够帮那些在学习或使用单元测试的朋友,少走弯路,提高效率。

顶一下
(0)
0%
踩一下
(0)
0%

IT培训0元试听 每期开班座位有限.0元试听抢座开始! IT培训0元试听

  • 姓名 : *
  • 电话 : *
  • QQ : *
  • 留言 :
  • 验证码 : 看不清?点击更换请输入正确的验证码

在线咨询在线咨询

温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。

------分隔线----------------------------
------分隔线----------------------------

推荐内容

相关热点