无法获取宏的值
问题描述:
我已经使用lein命令创建了一个项目。 这是我的源文件:无法获取宏的值
(ns database.core)
(defn movies[na rent qty]
(spit "e.txt" (.toString [{:na na :rent rent :qty qty}]))
(read-string (slurp "e.txt")))
这是我的项目文件:
(ns database.core-test
(:require [clojure.test :refer :all]
[database.core :refer :all]))
(deftest movies-test
testing "movies"
(let [jun (movies "Dark-knight" 12 6)]
(is (= (get-in jun [0 :na]) "Dark-knight"))
(is (= (get-in jun [0 :rent]) 12))
(is (= (get-in jun [0 :qty]) 6))))
但是当我尝试运行它,我不断收到此错误。 clojure.lang.Compiler $ CompilerException:了java.lang.RuntimeException:无法采取宏观的值:#'clojure.test /测试,编译:(C:\用户\ A \数据库\测试\数据库\ core_test。 clj:5:1)
这个错误可能是什么原因造成的?
答
testing
宏必须用自己的对括号,以便它被调用
(deftest movies-test
(testing "movies"
(let [jun (movies "Dark-knight" 12 6)]
(is (= (get-in jun [0 :na]) "Dark-knight"))
(is (= (get-in jun [0 :rent]) 12))
(is (= (get-in jun [0 :qty]) 6)))))