如何在 Phoenix.ConnTest 中指定格式?
How can I specify format in the Phoenix.ConnTest?
我在 phoenix 控制器中有一个非常简单的代码。它根据格式做一些事情和 returns 内容:
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 return。我该怎么做? dispatch/5 与格式无关。
格式是通过 accept
header 为连接定义的,而不是为 get
或其他。对于 json 和 html 格式,它应该分别是 application/json
或 html/text
。
您可以在测试中使用此 conn
:
conn = build_conn
|> Plug.Conn.put_req_header("accept", "text/html")
我在 phoenix 控制器中有一个非常简单的代码。它根据格式做一些事情和 returns 内容:
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 return。我该怎么做? dispatch/5 与格式无关。
格式是通过 accept
header 为连接定义的,而不是为 get
或其他。对于 json 和 html 格式,它应该分别是 application/json
或 html/text
。
您可以在测试中使用此 conn
:
conn = build_conn
|> Plug.Conn.put_req_header("accept", "text/html")