gpt4 book ai didi

unit-testing - 使用 Clojure 对 Java 进行单元测试

转载 作者:行者123 更新时间:2023-12-03 14:56:58 25 4
gpt4 key购买 nike

让组织接受另一种 JVM 语言的方法之一是首先将其用于 Java 代码的单元测试——“老板,我只是打算用 XXX 编写一些单元测试。它永远不会投入生产。 "

在 Clojure 中是否有任何教程可以做到这一点?

我刚刚开始使用 Scala 来测试 Java REST 服务器。在 Scala 中编写测试允许我嵌入预期的 XML 输出,使用文字 List 模拟数据库调用对象等,更不用说特征可以很容易地抽象出测试的通用代码。

最佳答案

基本上你需要的是clojure.test (或许多其他 clojure 测试库之一)和标准 Clojure Java interop .

例子:

(ns example.test-java-util
(:use
[clojure.test])
(:import [java.util HashSet]))

(defn new-empty-set []
(HashSet.))

(deftest test-empty-set
(is (= 0 (.size (new-empty-set))))
(is (= true (.isEmpty (new-empty-set))))
(is (= (new-empty-set) (new-empty-set))))

(deftest test-add-remove
(is (= (new-empty-set)
(doto (new-empty-set)
(.add "xyz")
(.remove "xyz")))))

然后你会以各种方式运行它们。使用 maven clojure 插件构建工具(如 Maven)作为“mvn 测试”的一部分自动运行它们。在 repl 中,您可以执行以下操作:
example.test-java-util> (run-tests 'example.test-java-util)

Testing example.test-java-util

Ran 1 tests containing 4 assertions.
0 failures, 0 errors.
{:type :summary, :test 1, :pass 4, :fail 0, :error 0}

关于unit-testing - 使用 Clojure 对 Java 进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4269522/

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