J'ai ce gestionnaire d'exception suivante dans mon contrôleurComment soulever une exception en rendre
def call(conn, opts) do
try do
super(conn, opts)
rescue
e in Ecto.CastError -> conn
|> put_status(:not_found)
|> render(ErrorView, "404.html")
e in ArgumentError -> conn
|> put_status(:not_found)
|> render(ErrorView, "404.html")
end
end
Au lieu de Ecto.CastError
pour élever une 400
que je veux soulever 404
. Cependant, je ne peux pas répondre à ma condition de test suivant
test "renders page not found when id is not all number", %{conn: conn} do
assert_error_sent 404, fn ->
get conn, url_path(conn, :show, "sdf2sd")
end
end
Depuis mon gestionnaire d'exception personnalisée n'a pas soulevé une exception.
La question est, comment soulever une exception appropriée dans mon propre gestionnaire d'exception personnalisée pour satisfaire le test?
Merci, m'a aidé à trouver où je me trompe. Bien que pour répondre à ma question, cet indice ne suffit pas :) – ardhitama