我可以运行iex -S mix phx.server
,它的运行效果很好:一个repl,再加上热代码,再运行webpack。
在另一个shell中,我可以运行mix test
或mix 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
时,它都会运行一次测试,但是对更改没有响应。
答案 0 :(得分:2)
糟糕,没关系。原来我只需要增加inotify限制。
echo fs.inotify.max_user_watches=32768 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
我的配置中包含mix: ["test.watch"]
:watchers现在可以正常使用