在Phoenix / Elixir中测试渲染

时间:2016-01-05 22:27:57

标签: elixir phoenix-framework

我的凤凰应用程序中有一个包含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

1 个答案:

答案 0 :(得分:3)

您可以致电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