2014-11-25 2 views
1

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/testing, compiling : (C : \ Users \ A \ database \ test \ database \ core_test. clj : 5 : 1)

이 오류의 가능한 원인은 무엇입니까? 이 호출하도록 매크로 괄호 자신의 쌍을 묶어야합니다

답변

4

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))))) 
관련 문제