删除 Clojure REPL 中定义的测试

发布于 2024-11-01 16:31:42 字数 464 浏览 2 评论 0原文

在 Clojure 中,我决定从编写 :test 元数据元素转向使用 deftest。为了确保我已正确编写 deftest,我尝试在 REPL 中重新加载并运行测试。

虽然我不关心 重复测试本身,当我从源中删除测试时,我希望在重新加载源时将其删除。 清除 REPL 不会删除测试。

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

In Clojure, I have decided to move from writing :test metadata elements to using deftest. To see that I have written the deftest correctly, I try reloading and running the tests with a reload in the REPL.

While I don't care about duplicate tests per se, when I remove a test from the source, I would like it removed when I reload the source. Clearing the REPL doesn't remove the tests.

So, How many I remove tests defined via deftest from the Clojure REPL

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

中二柚 2024-11-08 16:31:42

clojure.test 通过反映命名空间来查找测试变量,因此您可以使用 ns-unmap。有关完整详细信息,请参阅我之前对类似问题的回答

clojure.test finds test vars by reflecting on namespaces, so you can use ns-unmap. For full details, see my earlier answer to a similar question

小帐篷 2024-11-08 16:31:42

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

I don't think you can remove vars one-by-one in clojure (I may be wrong; it seems like a strange oversight if that's true). The easiest way to get rid of old definitions is probably to use remove-ns to get rid of the namespace and then re-evaluate the file / namespace / definitions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文