【发布时间】:2019-02-14 01:35:35
【问题描述】:
进行以下基本测试(使用 ex_machina):
# factory
def item_factory do
%Api.Content.Item{
title: "Some title",
content: "Some content",
published_at: NaiveDateTime.utc_now
}
end
# test
test "lists all items", %{conn: conn} do
item = insert(:item)
conn = get conn, item_path(conn, :index)
assert json_response(conn, 200)["data"] == [
%{
"content" => item.content,
"published_at" => item.published_at,
"title" => item.title,
"id" => item.id
}
]
end
日期出现错误:
left: ... "published_at" => "2010-04-17T14:00:00.000000"
right: ... "published_at" => ~N[2010-04-17 14:00:00.000000]
用"published_at" => "#{item.published_at}"尝试了一个简单的字符串断言
但仍然失败:
left: ..."published_at" => "2010-04-17T14:00:00.000000"
right: ..."published_at" => "2010-04-17 14:00:00.000000"
断言这种情况的正确方法是什么——如何正确“投射”日期?
【问题讨论】:
-
你试过
NaiveDateTime.to_string(item.published_at)吗? -
@m3characters 刚刚在断言响应负载检查中做了
NaiveDateTime.to_string(item.published_at),左边是"2018-09-09T11:23:21.896696",右边仍然是"2018-09-09 11:23:21.896696" -
试试
NaiveDateTime.to_iso8601(item.published_at)。 -
我们去!非常感谢。您介意详细说明答案中发生的事情吗?我真的不明白这一切的基础。无论如何;再次感谢
标签: elixir phoenix-framework phoenix