3

私はjEditを使用していますが、ファイルを作成してテストを実行したいと思います。ファイル自体ではなく、テストを実行するプロセスに興味があります。

だから私はこの単純な関数をFile.clj

(defn abs [n]
  (if (neg? n) (- n) n))

そして、このテストはTheTest.clj

(use 'clojure.test)

(load-file "File.clj")

(deftest sample-test
  (testing "abs"
    (is (= 5 (abs (5))))))

(run-tests)

次に、ファイルを実行しますTheTest.cljが、次のように表示されます。

java.io.FileNotFoundException: File.clj (The system cannot find the file specified) (TheTest.clj:49)

誰かに教えてもらえますか?これが物事を行う方法であり、テストを実行する方法でない場合は:( jEditにある必要はありませんが、必要に応じてコマンドプロンプトに表示される場合があります。また、leiningenをインストールしFile.cljTheTest.clj同じディレクトリにあります。load-file関数でファイルへのパス全体を指定しようとしましたが、成功しませんでした。

よろしくお願いします!:)

4

1 に答える 1

6

Leingingenなしであなたの例を機能させることは確かに可能です。それは私のコンピュータで1つの小さな変更で動作します:周りの角かっこを削除して5、テストラインが

(is (= 5 (abs 5)))

スクリプトを正常に実行するには、Clojure JARの場所を見つけ、ターミナルを開いてソースファイルが存在するディレクトリに切り替えてから、以下を実行します。

java -cp /path/to/clojure/clojure-1.4.0.jar clojure.main TheTest.clj

明らか/path/to/clojure/clojure-1.4.0.jarに、システム上のClojureへの実際のパスに置き換えてください。Leiningenを使用したことがある場合は、Mavenリポジトリにコピーがあります(私はそれを持っています~/.m2/repository/org/clojure/clojure/1.4.0/clojure-1.4.0.jar

実行TheTest.cljしましたが、出力は次のとおりです。

Testing user

Ran 1 tests containing 1 assertions.
0 failures, 0 errors.
于 2013-03-12T17:47:06.293 に答える