【问题标题】:Test rendering in Phoenix/Elixir在 Phoenix/Elixir 中测试渲染
【发布时间】:2016-01-06 20:22:50
【问题描述】:

我的 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

【问题讨论】:

    标签: elixir phoenix-framework


    【解决方案1】:

    您可以拨打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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-27
      • 2016-02-25
      • 1970-01-01
      • 2018-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多