3

(a) すべてのソース ファイルが現在のディレクトリにある、(b) ソース ファイルが変更されるたびに単体テストが実行される、(c) 定義を含むソース ファイルが変更されたときに REPL が定義を更新するように、ブートをどのようにセットアップしますか?

具体的には:

  • 何が入りbuild.bootますか?

  • REPL を開始するためのシェル コマンドは何ですか? また、REPL のどのコマンドが単体テストの監視を開始しますか?

  • 他にどのような従来のセットアップを行う必要がありますか?

bootboot-testboot-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

これを行う正しい方法は何ですか?

4

1 に答える 1