0

フェニックスコントローラーには非常に単純なコードがあります。それはいくつかのことを行い、フォーマットに応じてコンテンツを返します:

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には、フォーマットに関するものは何もありません。

4

1 に答える 1

0

形式はaccept、接続用のヘッダーを介して定義されgetます。json および html 形式の場合は、それぞれapplication/jsonまたはにする必要がありhtml/textます。

connこれをテストで使用できます。

conn = build_conn
  |> Plug.Conn.put_req_header("accept", "text/html")
于 2016-09-19T13:11:11.397 に答える