zoukankan      html  css  js  c++  java
  • 单元测试笔记

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

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

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

      input:xxx;

      expected output:xxx;

      actual output:xxx;

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

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

  • 相关阅读:
    Oracle数据库中心双活之道:ASM vs VPLEX
    使用Visual C ++和Open Folder自定义环境
    HDU 2563 统计问题(递归,思维题)
    彻底搞定C语言指针(精华版)
    HDU 1000 A + B Problem(指针版)
    图的基本算法(BFS和DFS)
    HDU 1312 Red and Black(DFS,板子题,详解,零基础教你代码实现DFS)
    C语言求最小公倍数和最大公约数三种算法(经典)
    HDU 2504 又见GCD(最大公约数与最小公倍数变形题)
    HDU 2502 月之数(二进制,规律)
  • 原文地址:https://www.cnblogs.com/gongcr/p/6691115.html
Copyright © 2011-2022 走看看