【发布时间】:2018-06-07 22:14:00
【问题描述】:
目前文档清晰且充满活力,包含常见的 HTTP 动词,但我们今天开始实现一些 HEAD 路由,并且它的测试方式与其他路由不同。
测试说GET方法:
conn = get conn, controller_path(conn, :controller_method, params)
所以我假设您只需将get 更改为head,但事实并非如此。
这是我的路线:
template_journeys_count_path HEAD /v1/templates/:template_id/journeys GondorWeb.V1.JourneyController :count
和我的控制器方法:
def count(conn, %{"template_id" => template_id}) do
count = Templates.get_journey_count(template_id)
conn
|> put_resp_header("x-total-count", count)
|> send_resp(204, "")
end
和我的测试:
conn = head conn, template_journeys_count_path(conn, :count, template.id)
assert response(conn, 204)
但我收到一条错误消息,提示未收到回复,而我在 conn.resp_headers 中添加了 resp_header 中没有的内容
我错过了什么吗?我还尝试使用Plug.ConnTest 的方法build_conn 将HEAD 方法传递给它,但仍然没有运气。
【问题讨论】:
标签: testing phoenix-framework plug