您如何设置引导以便:(a)所有源文件都在当前目录中,(b)每次源文件更改时运行单元测试,(c)REPL 在包含它们的源文件更改时刷新定义?
具体来说:
什么进去
build.boot
?启动 REPL 的 shell 命令是什么?和/或 REPL 中的什么命令开始监视单元测试?
我还需要做哪些其他常规设置?
我已经阅读了很多关于boot、boot-test、boot-quick-test、REPL reloading in boot和boot-refresh的文档,但是我还没有做很多工作。到目前为止,我发现的文档似乎提供了花絮和提示,但没有提供将这些东西放在一起所需的东西。
一个适当的build.boot
(以及其他任何东西)的简单示例将特别有帮助。
到目前为止,这就是我所拥有的(某种)作品。
(set-env!
:dependencies '[
[adzerk/boot-test "1.1.2" :scope "test"]
[org.clojure/tools.namespace "0.2.11"]]
:source-paths #{"."})
(require '[clojure.tools.namespace.repl :as repl :refer [refresh]])
(apply repl/set-refresh-dirs (get-env :directories))
在当前目录中加一个文件,sample.clj
:
(ns sample
(:require [clojure.test :refer :all]))
(defn myfunc [] "this string")
(deftest test-myfunc
(is (= "this string" (myfunc))))
这会启动以在当前目录中查找源文件,它使我能够sample.clj
通过键入(refresh)
REPL 手动重新加载更改。(boot (test))
用于在.clj
文件中手动运行单元测试,但我刚才尝试时失败了,错误“传递给核心/测试的 args (0) 数量错误”。
这样做的正确方法是什么?