当REPL/Lisp遇上"单元测试"

昨天面试过后给我出道题目, 做个小型但完整(可以运行)的后台代码(吾投简历的是后台的, 前几天也投了前端的, 也投过iOS的…)
初步看了几乎都是吾做过的, 除了那个单元测试(unit test)

在Common Lisp/SLIME 那里吾都是写好一个函数或者小模块, 都会直接在REPL那里运行测试
请问那样算不算是单元测试了呢? 还是说要另外再写一块代码来测试每个独立的函数?

后记: Oh! 吾记起来了, 之前在 《Practical Common Lisp》 里就有些一篇 Building Unit Test 的文章, 重温一下吧…
https://pcl.celwk.com/09.practical-building-a-unit-test-framework.htm

和 REPL 交互的代码不算测试代码,所以也不算单元测试。

一般单元测试就是运行某个函数, 核对跟预期的值是否一致, 对吗? REPL 不也达到了这个效果吗?
也很方便(不过不会每次都自动运行测试)

单元测试一般由多个用例构成,可以反复运行,可以回归测试,统计覆盖率等。从 REPL 运行代码,并不满足这些目的。

1 个赞

说的也是, 那样也避免了重复输入已经测试过的测试代码
REPL 就是大量避免了要重启了 (node 里面不是一修改一个变量或者函数就要重启了吗?)

就像吾之前提到的用词语/成语来代表函数/模块, 单元测试就像咱们常用的*例句*
证明这个词语/成语能够清楚表达出调用方想要的意思