2016-09-19 10 views
0

私はフェニックスコントローラのかなり簡単なコードを持っています。フォーマットに応じてコンテンツを返します:Phoenix.ConnTestでフォーマットを指定するにはどうすればよいですか?

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

答えて

0

フォーマットは、接続のためにacceptヘッダーで定義されています。getなどではありません。 json & html形式の場合は、それぞれapplication/jsonまたはhtml/textにする必要があります。

あなたのテストでこの connを使用することができます

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

1が言うとき、「テスト」、読者は通常ことではなく、単純な割り当てよりも、 'assert'および/または' doctest'、または任意の他の_test_を期待していますただ常に動作します。 – mudasobwa

関連する問題