我有一个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
我的项目中的所有测试都在这个文件上运行。我认为它可能与文件路径有关,但我看不出有什么理由会影响测试。我也可以在运行应用程序时转到端点。
任何帮助将不胜感激。提前谢谢。
答案 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