1

我有以下 midje 代码 -

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

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

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

4

2 回答 2

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>

所以你的 midje 事实看起来像:

(fact "Parsing the date received from github" (parse-date "2013-02-20T17:24:33Z") 
   => (date-time 2013 02 20 17 24 33))
于 2013-03-20T07:50:34.007 回答
2

您可以使用 #inst 阅读器宏:

user=> #inst "2013-02-20T17:24:33.000Z"
#inst "2013-02-20T17:24:33.000-00:00"
于 2013-03-20T08:11:56.020 回答