gpt4 book ai didi

java - JUnit 和 Clojure 单元测试

转载 作者:太空狗 更新时间:2023-10-29 22:58:11 25 4
gpt4 key购买 nike

我正在创建一个包含 Clojure 和 Java 代码的库,并且希望能够在整个代码库中运行单个测试 JUnit 套件。看起来这应该是可能的,因为它们都在 JVM 上运行并且有很好的 Clojure/Java 互操作性。

但是,目前 Clojure 代码似乎更倾向于使用“(run-all-tests)”和 friend 通过 clojure.test API 完成单元测试。

有没有一种好方法可以将这些 Clojure 测试包装在某种包装器中,以便可以从 JUnit 自动调用它们?

(当我说自动时,我的意思是无需诉诸编写 JUnit 测试用例的手动解决方案来单独包装和调用每个 Clojure 测试用例:-))

最佳答案

最简单的做法是从单个 JUnit 测试调用 run-all-tests。您可以捕获输出并查看指示通过/失败/错误计数的最后一行。如果您看到失败或错误,您可以使 JUnit 测试失败。

但是,如果您想与每个 Clojure 测试进行交互,则必须实现与 clojure.test 中的功能类似的功能。也就是说,对于每个命名空间中的每个值,查找存储在 :test 元数据值中的函数。该值就是您的测试函数。

test.clj 的第 661-686 行给出关于如何在 Clojure 中存储和稍后运行测试的一个很好的概要。

关于java - JUnit 和 Clojure 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4845595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com