首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Clojure对Java进行单元测试

使用Clojure对Java进行单元测试
EN

Stack Overflow用户
提问于 2010-11-25 01:12:08
回答 1查看 2.5K关注 0票数 16

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

在Clojure中有这样做的教程吗?

我刚刚开始使用Scala来测试Java REST服务器。使用Scala编写测试允许我嵌入预期的XML输出,使用文字List对象模拟数据库调用等,更不用说特征使得为测试提取公共代码变得非常容易。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-25 01:49:25

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

示例:

代码语言:javascript
复制
(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中,您可以执行以下操作:

代码语言:javascript
复制
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}
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4269522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档