lisp初体验-Practical Common Lisp笔记-11.单元测试
原章节名直译应该是:“建立单元测试框架”,感觉有些唬人,为了不至于霸气侧漏,就借用了下多数编程语言教程中多少都会提笔带过的“单元测试”了。
其实作为初级教程,是否有必要在单元测试上过多着墨,就要见仁见智了。个人看法是:理想很丰满,现实很骨感。呃。。。哪来那么多感慨,那就开始吧。(为什么要单元测试可以看这里)
先举个测试的例子:
注意:“~:[FAIL~;pass~]”是一种特定格式,由第一个值的真伪来确定输出FAIL还是pass.
执行下:
再来看看上面的改良版成什么样子了:
还需要一个专门用于收集结果的东东,类似于这个样子:
是不是感觉更靠谱了?好的,先深呼吸平复下心情。让我们从这儿倒推着往上看,有没有琢磨出些更深层次的东西?我们是要写单元测试,而凡是单元测试,除了主体之外,大部分都是相同或类似的东东。那么能不能对测试函数做一下更高层次的抽象?写个宏试试是否能个生成测试函数:
包含注释、空行,也只用了26行代码而已!当然,这一切才刚开始..
(未完待续) 1 楼 delphi2000 2011-09-24 我刚开始学习Lisp,看了你的文章很有启发,请坚持写下去吧