测试日期时间对象或如何在代码中使用阅读器表单

时间:2013-03-20 07:21:29

标签: clojure

我有以下midje代码 -

(fact "Parsing the date received from github" (parse-date "2013-02-20T17:24:33Z") => #<DateTime 2013-02-20T17:24:33.000Z>)

我正在尝试测试一个函数,该函数在给定字符串时返回日期时间对象(使用clj-time lib的joda时间)。

如何在代码中表示日期时间对象#<DateTime 2013-02-20T17:24:33.000Z>,以便它不会引发错误 java.lang.RuntimeException: Unreadable form, compiling:(mashup/github.clj:11)

2 个答案:

答案 0 :(得分:2)

clj-time具有以下构造函数:

user> (use 'clj-time.core)
nil
user> (date-time 2013 02 20 17 24 33)
#<DateTime 2013-02-20T17:24:33.000Z>

所以你的中间事实会是这样的:

(fact "Parsing the date received from github" (parse-date "2013-02-20T17:24:33Z") 
   => (date-time 2013 02 20 17 24 33))

答案 1 :(得分:2)

您可以使用#inst reader宏:

user=> #inst "2013-02-20T17:24:33.000Z"
#inst "2013-02-20T17:24:33.000-00:00"