我正在尝试使用从Phoenix借来的以下行在我的Phoenix应用上运行一些测试:
WebsocketClient.start_link(self, "ws://127.0.0.1:8080/socket/websocket")
(我的websocket在我的Endpoint模块中设置为“/ socket”;上面的URL正是我的浏览器将连接到的)
...以{:error, :econnrefused}
失败。
a blog post中提到了此错误,该错误建议使用以下代码段的变体:
defmodule Calculon.Support.Helpers do
def launch_api do
# set up config for serving
endpoint_config =
Application.get_env(:calculon, Calculon.Endpoint)
|> Keyword.put(:server, true)
:ok = Application.put_env(:calculon, Calculon.Endpoint, endpoint_config)
# restart our application with serving enabled
:ok = Application.stop(:calculon)
:ok = Application.start(:calculon)
end
end
...在setup_all中:
setup_all do
Calculon.Support.Helpers.launch_api
end
但无济于事。我也尝试过在Phoenix的websocket测试中使用的这个片段(上面链接):
Application.put_env(:phoenix, Endpoint, [
https: false,
secret_key_base: String.duplicate("abcdefgh", 8),
debug_errors: false,
pubsub: [adapter: Phoenix.PubSub.PG2, name: __MODULE__],
http: [port: @port],
server: true
])
到目前为止,这些都没有对我有用。有什么明显的我可能错过了吗?