在 Phoenix/Elixir 中测试渲染
Test rendering in Phoenix/Elixir
我的 phoenix 应用程序中有一个包含 render_footer/1
的视图模块。我将如何使用 EXUnit 来测试此功能?
defmodule Lorem.LayoutView do
use Lorem.Web, :view
def render_footer(conn) do
render __MODULE__, "footer.html", conn: conn
end
end
defmodule Lorem.LayoutViewTest do
use Lorem.ConnCase, async: true
test "render_footer" do
flunk "Not implemented!"
end
end
您可以拨打Phoenix.View.render_to_string
。另请记住,您的模板都已预编译为 render/2
调用,因此我只需调用
render LayoutView, "footer.html", assigns
而不是 render_footer
函数,除非你需要做一堆作业准备。对于测试,您可以这样做:
import Phoenix.View
test "render_footer" do
render_to_string(Lorem.LayoutView, "footer.html", ..) =~ "copyright"
end
我的 phoenix 应用程序中有一个包含 render_footer/1
的视图模块。我将如何使用 EXUnit 来测试此功能?
defmodule Lorem.LayoutView do
use Lorem.Web, :view
def render_footer(conn) do
render __MODULE__, "footer.html", conn: conn
end
end
defmodule Lorem.LayoutViewTest do
use Lorem.ConnCase, async: true
test "render_footer" do
flunk "Not implemented!"
end
end
您可以拨打Phoenix.View.render_to_string
。另请记住,您的模板都已预编译为 render/2
调用,因此我只需调用
render LayoutView, "footer.html", assigns
而不是 render_footer
函数,除非你需要做一堆作业准备。对于测试,您可以这样做:
import Phoenix.View
test "render_footer" do
render_to_string(Lorem.LayoutView, "footer.html", ..) =~ "copyright"
end