请分享您的想法,参加2024年Clojure调查!

欢迎!请参阅关于页面以获取更多关于如何使用本站的信息。

0投票
tools.build
重新分类

具体来说,我想将clojure.test/*load-tests*设置为false,这样通过clojure.test/deftestwith-test等宏,测试代码就会被排除。Lein提供了注入作为替代,而tools.build似乎没有等效的解决方案。

从代码来看,tools.build似乎是从一个单独生成的脚本在临时文件中编译代码的,这似乎使得注入或包装变得不可能。也无法找到除了编译器选项之外的传递选项。

关于这个用例的更深入描述可以在clojureverse网站上找到:https://clojureverse.org/t/require-import-inside-deftest/8644/3

有解决方案或推荐的替代方案可用吗?

1 答案

0投票

最佳答案
 
最佳答案

是的,tools.build通过创建新的进程来进行编译并生成编译代码,因此目前没有办法这样做。但是,这可能是一个值得探索的方向,我在 https://clojure.atlassian.net/browse/TBUILD-28 提了一个工单(尽管我在做之前想先找到一套更广泛的使用场景)。

我觉得最好的解决方案是不将测试代码和实际代码混在一起,这样你就不需要这样做。

...