如何在Phoenix.ConnTest中指定格式?

时间:2016-09-19 13:11:11

标签: elixir phoenix-framework ex-unit

我在凤凰控制器中有一个非常简单的代码。它会执行一些操作并根据格式返回内容:

def delete(conn, _params) do
  # some stuff here

  if get_format(conn) == "json" do
    conn |> put_status(200) |> json(%{})
  else
    conn |> redirect(to: "/")
  end
end

它工作正常,但我测试它有问题。我无法测试html返回。我该怎么做? dispatch/5没有与格式相关的内容。

1 个答案:

答案 0 :(得分:0)

格式是通过accept标题定义的,不是get或其他什么。对于json& html格式应分别为application/jsonhtml/text

您可以在测试中使用此conn

conn = build_conn
  |> Plug.Conn.put_req_header("accept", "text/html")