在Clojure REPL中删除已定义的测试

时间:2011-04-17 00:57:34

标签: testing clojure reload

在Clojure中,我决定从编写:test元数据元素到使用deftest。要查看我已正确编写deftest,我尝试重新加载并在REPL中重新加载运行测试。

虽然我本身并不关心duplicate tests,但当我从源代码中删除测试时,我希望在重新加载源代码时将其删除。 Clearing the REPL不会删除测试。

那么,有多少我从Clojure REPL中删除了通过deftest定义的测试

2 个答案:

答案 0 :(得分:7)

clojure.test通过反映命名空间来查找测试变量,因此您可以使用ns-unmap。有关完整详细信息,请参阅my earlier answer to a similar question

答案 1 :(得分:0)

我认为你不能在clojure中一个接一个地删除变量(我可能是错的;如果这是真的,这似乎是一个奇怪的疏忽)。摆脱旧定义的最简单方法可能是使用remove-ns来删除命名空间,然后重新评估文件/命名空间/定义。