例如,RCF 等库支持一种编程风格,其中测试代码与源代码一起编写,并且在测试表单被评估时始终运行(例如,如果文件被重新加载),以提供快速反馈和更好的测试和例子的局部性 - 小测试示例紧挨着代码,并且与comment
块不同,它们不太可能与代码库脱节。
这样可以,使用with-tests
,deftest
和set-test
包装的表单在它们被评估时将运行它们的测试。
这不适合长时间运行或重量级测试,这也是为什么有动态变量可以根据命名空间设置的变量似乎是个不错的匹配。
RCF 通过在测试表单的末尾始终添加对test-var的调用来实现这一点
例如
(when *run-tests* `(test-var (var ~name)))
然后与代码一起编写的测试将能够在代码加载时自动运行并提供即时反馈
替代方案:使用工具的命名空间
看法如何?