测试嵌套文件夹中的Phoenix控制器

时间:2018-02-16 16:41:30

标签: testing elixir phoenix-framework

我有一个elixir伞应用程序,其中包含一个凤凰应用程序和一个elixir应用程序。该应用程序正在按预期工作,但我在测试其中一个控制器时遇到问题。

运行测试时,文件中的测试不会运行。看起来它们在测试过程中被忽略了。

控制器文件看起来像......

defmodule AppName.File.Path.NameOfController do
  def index(conn, params) do
    render(conn, "index.html")
  end
end

测试文件也很简单,看起来像......

defmodule AppName.File.Path.NameOfControllerTest do
  test "GET /"the_url/I/want", %{conn: conn} do
    conn = get conn, some_path(conn, :index)
    assert html_response(conn, 200) =~ "Some html"
  end
end

我的项目中的所有测试都在这个文件上运行。我认为它可能与文件路径有关,但我看不出有什么理由会影响测试。我也可以在运行应用程序时转到端点。

任何帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

conn = get conn, some_path(conn, :index)应为conn = get conn, name_of_path(conn, :index)

要获取正确的路径助手,Phoenix会删除尾随Controller并将名称转换为snake case并附加_path

因此NameOf变为name_of