はじめに
タイトルのとおり, Phoenix 1.3 で ESpecをかいていて, Router.Helpers
まわりのエラーに遭遇したので残しておく。
ESpecの導入だとかは割愛する。
環境
- Elixir 1.7.4
- Phoenix 1.3.4
- ESpec 1.6.3
- ESpec.Phoenix 0.6.10
内容
ESpec実行時に,以下のようなコンパイルエラーになる。
** (CompileError) spec/controllers/v1/sessions_controller_spec.exs:2: module AppEx.Router.Helpers is not loaded and could not be found
もう1つ実行時に,
module AppEx.Endpoint is not available
が発生する。
どうやら,Phoenix 1.2 -> 1.3 の変更が影響しているようだ。
解決方法
コンパイルエラーは, espec_phoenix_extend.ex
の,import AppEx.Router.Helpers
を,
import AppExWeb.Router.Helpers
とすれば解決する。
module AppEx.Endpoint is not available
に関しては,@endpoint AppEx.Endpoint
を,
@endpoint AppExWeb.Endpoint
に変更すれば解決する。
具体的にはESpec.Phoenixのissue #48 を参照するとよい。
おわり
それではみなさん良いBDDライフを!