侵入式单元测试

主要观点:从经验丰富的 Perl 程序员处学到在所有脚本语言中使用的插入单元测试与定义的技术,称为侵入式单元测试,示例为 2D 向量库的测试代码,脚本导入或运行时会输出测试结果,若测试失败可选择跳过主入口点直接退出脚本,替代方法是设置单独测试套件但更耗时,侵入式单元测试只需“调用函数并断言结果”,还介绍了简单的执行实际断言的函数(ok、is、done)及其在多种脚本语言中的使用,输出格式符合 Test Anything Protocol 子集。
关键信息:

  • 学到的技术及名称:从 Perl 程序员处学,称为侵入式单元测试。
  • 2D 向量库测试代码示例:包含创建向量函数、减法函数、L2 范数函数及相应测试。
  • 测试输出及结果:输出测试通过和失败情况,如 ok1 - Vector creation 等,此例中 L2 范数实现有问题。
  • 侵入式单元测试优势:脚本运行时先运行完整测试套件,测试失败可跳过主入口点,只需“调用函数并断言结果”,成本低。
  • 断言函数:ok 函数判断实际值是否为真并输出相应结果,is 函数比较实际值和期望值是否相等并输出结果,done 函数输出测试完成情况及通过和失败数量。
    重要细节:
  • 测试函数中通过比较实际值和期望值判断测试是否通过,若不相等则输出错误信息。
  • 测试输出格式符合 Test Anything Protocol 子集,便于与测试框架兼容。
  • 可将断言函数复制粘贴到其他有用的脚本中。
阅读 12
0 条评论