如何将test.watch与`iex -S mix phx.server`集成在一起

时间:2019-05-19 18:44:06

标签: elixir tdd phoenix-framework

我可以运行iex -S mix phx.server,它的运行效果很好:一个repl,再加上热代码,再运行webpack。

在另一个shell中,我可以运行mix testmix test.watch(使用第3方库),并且 也很好。

但是如何用一个命令将它们运行在同一shell窗口中?因此,当我更改任何代码时,它将自动重新运行测试,同时在浏览器中显示更改。

在应用程序配置下的config / dev.exs中,我尝试过:

...
watchers: [
  mix: ["test"],
  node: [...node stuff...]
]

...
watchers: [
  mix: ["test.watch"],
  node: [...node stuff...]
]

在这两种情况下,当我第一次使用iex -S mix phx.server时,它都会运行一次测试,但是对更改没有响应。

1 个答案:

答案 0 :(得分:2)

糟糕,没关系。原来我只需要增加inotify限制。

echo fs.inotify.max_user_watches=32768 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

我的配置中包含mix: ["test.watch"]:watchers现在可以正常使用