(a) すべてのソース ファイルが現在のディレクトリにある、(b) ソース ファイルが変更されるたびに単体テストが実行される、(c) 定義を含むソース ファイルが変更されたときに REPL が定義を更新するように、ブートをどのようにセットアップしますか?
具体的には:
何が入り
build.boot
ますか?REPL を開始するためのシェル コマンドは何ですか? また、REPL のどのコマンドが単体テストの監視を開始しますか?
他にどのような従来のセットアップを行う必要がありますか?
boot、boot-test、boot-quick-test、 boot でのREPL リロード、および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))
さらに、現在のディレクトリ内の 1 つのファイルsample.clj
:
(ns sample
(:require [clojure.test :refer :all]))
(defn myfunc [] "this string")
(deftest test-myfunc
(is (= "this string" (myfunc))))
これにより、起動して現在のディレクトリ内のソース ファイルが検索され、REPLsample.clj
を入力して手動で変更を再読み込みできるようになります。ファイルで単体テストを手動で実行していましたが、今試してみると、「間違った数の引数 (0) が渡されました: core/test」というエラーで失敗しました。(refresh)
(boot (test))
.clj
これを行う正しい方法は何ですか?