首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

用clojure兑现《实用Common Lisp编程》中的单元测试框架

2013-03-06 
用clojure实现《实用Common Lisp编程》中的单元测试框架(ns simple-test-frame.core)(def ^:dynamic *test-n

用clojure实现《实用Common Lisp编程》中的单元测试框架

(ns simple-test-frame.core)(def ^:dynamic *test-name* nil)(defn report-result  [result form]  (if result    (println "pass ... " *test-name* ":" form)    (println "fail ... " *test-name* ":" form))  result)(defn  combine-results  [& forms]  (every? true? forms))(defmacro check  [& forms]  `(combine-results    ~@(for [form forms]      `(report-result ~form '~form))))(defmacro deftest  [fn-name fn-parameters & fn-body]  `(defn ~fn-name     ~fn-parameters     (binding [*test-name* '~fn-name]       ~@fn-body)))

热点排行