如果我启动我的凤凰应用程序的实例并按照请求点击它,我的插头会适当停止。但是,在测试环境中执行相同的操作会停止调用下游的插头,这会导致我的测试失败。我认为问题可能来自我在测试期间调用路由器的方式。这是我正在使用的辅助函数,它大量借用了凤凰框架中的类似函数:
def call(router, verb, path, params \\ nil, headers \\ []) do
add_headers(conn(verb, path, params), headers)
|> Plug.Conn.fetch_params
|> Plug.Parsers.call(parsers: [Plug.Parsers.JSON],
pass: ["*/*"],
json_decoder: Poison)
|> router.call(router.init([]))
end
为什么要这样调用我的路由器导致停止工作?
编辑:所以我升级到Phoenix 0.13.1以便使用他们的新端点测试模块而不是我推出的帮助器。我会报告这是否能解决问题。