无法获取宏的值

问题描述:

我已经使用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)))))