• 单元测试笔记


      1.测试代码的可读性和非测试代码是同样重要的,它记录了真实代码如何工作和应该如何使用,因此如果测试很容易阅读,使用者对于真实代码的行为会有更好的理解。

      2.好的测试代码应当做到:对使用者隐去不重要的细节,以便最重要的细节会更突出。具体做法,可以构建多个辅助函数,使得测试代码精炼成一行代码:“对于这样的输入/情形,期望有这样的行为/输出”,这除了让代码紧凑而又易读,让测试的表述保持很短还会让增加测试变得很简单。

      3.使用更高级的assert,如python中unittest模块中的assertEqual()方法,该方法在测试失败的时候会给出具体的错误消息,这会对我们有助于改正bug。但是这样也许还不够好,于是我们可以人工打造更好的测试函数,得到更好更完整的错误信息,比如使得得到的错误信息可以按格式打印出:

      input:xxx;

      expected output:xxx;

      actual output:xxx;

      4.精心设计测试输入,基本原则是应当选择一组最简单的输入,使得它能够完整地使用被测代码。在选取测试输入的时候,也不要将所有输入写在一个语句里,最好将输入按类别分成几条语句,比如一句专门用来测试边界条件、一句专门测试缓冲区溢出等。

      5.测试函数的命名也应当讲究规则,最好使用Test_functionName这种格式,名字应具有较好的描述性,不要害怕名字太长或者太繁琐,因为整个代码库不会调用这个函数,因此要避免使用长函数名的理由在这里并不适用。好的函数名相当于一条注释,并且当测试失败的时候,如果输出了该函数的名字,也会有利于更正bug。

  • 相关阅读:
    平衡树板子
    51nod1201 整数划分
    时态同步[ZJOI2007]
    玉米田Corn Fields
    中国象棋[AHOI2009]
    孤岛营救与汽车加油行驶问题
    运输问题
    航空路线问题(dp解法)
    最小路径覆盖
    后缀排序(后缀数组初探
  • 原文地址:https://www.cnblogs.com/gongcr/p/6691115.html
Copyright © 2020-2023  润新知