2016-11-27 9 views
3

私はex_adminで作業しており、Phoenixサーバーを起動する際に問題が発生しました。私はHoundとの統合テストのセットアップに取り組んでいます。 ex_adminはテスト/サポートフレームワークにPhoenixエンドポイントを持っています。任意の助けhttps://github.com/gwincr11/ex_adminテスト用フェニックスエンドポイントサーバーが起動しません。

ありがとう:あなたがここにコードを見ることができます

** (EXIT from #PID<0.70.0>) shutdown: failed to start child: Phoenix.Endpoint.Server 
    ** (EXIT) shutdown: failed to start child: {:ranch_listener_sup, TestExAdmin.Endpoint.HTTP} 
     ** (EXIT) exited in: :gen_server.call(:ranch_server, {:set_new_listener_opts, TestExAdmin.Endpoint.HTTP, 16384, [env: [dispatch: [{:_, [], [{:_, [], Plug.Adapters.Cowboy.Handler, {TestExAdmin.Endpoint, []}}]}]]]}) 
      ** (EXIT) no process 

:私はtrueにエンドポイントサーバー用に設定を設定すると、私はエラーを取得します!

答えて

4

:ranch_serverが実行されていないため、エラーはPhoenix.Endpoint.Server:ranch_listener_supの開始に失敗したことを意味します。これは、cowboy(牧場はカウボーイの依存関係であり、あなたがcowboyを開始すると自動的に開始されます)を開始していないためです。

これを修正するには、test/test_helper.exsの先頭に以下を追加することができ、次のいずれか

Application.ensure_all_started(:cowboy) 

それともmix.exs:test ENVに依存関係として追加:

defp applications(:test) do 
    [:plug, :cowboy | applications(:prod)] 
end 

をどちらか一方を行った後、これらの変更のうち、私はもはやあなたのコードベースでそのエラーを取得しませんでした(しかし、私はおそらくあなたが追加し、修正する機会がなかった7つのテストの失敗を得る)。

+0

これは、ありがとうございました。エラーが実際にどのアプリケーションが起動されていないかを実際に教えてくれればうれしいでしょう。私は、カウボーイがフェニックスによって処理されたと考えています。私はすべての失敗したテストに合格しました。私はテストに影響を与えたサーバーを始動させるためにあらゆる種類の設定を試していました。 –

+0

実際にPhoenixエンドポイントとサーバーをテストサポートフォルダに開始してローカルマシンにアクセスできる方法はありますか? –

関連する問題