2016-09-19 66 views
0

我在phoenix控制器中有一個非常簡單的代碼。它做一些東西,並根據格式返回內容:如何在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/jsonhtml/text

您可以在測試中使用此conn:當一個人說

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

「測試,」讀者通常期望'assert'和/或'doctest',或任何其他_test_,而不是簡單的作業,只是始終工作。 – mudasobwa