VimとKarmaの相性がよろしくない件

Javascriptのコードを書くにあたり、2015年5月現在、まあまあ一般的な開発環境だろうと思って、テスティングフレームワークにJasmineを選び、テストを自動実行するためにKarmaをインストールしました。

インストールの仕方とかについては、先駆者の記事などを参考にしていただければと思います。

そして、深い意味もなく、テキストエディタとしてVimを採用してみたわけです。
WindowsでもMacでもLinuxでも同じ操作性だから、とかいった安直な理由です。

で、Vimを起動して、その一方でKarmaの自動監視をスタートさせて、いい感じでテストしながらコードを書いていたところ、嫌な現象が生じるようになってきたのです。

突然Karmaを動かしているコマンドプロンプトに
INFO [watcher]: Removed file "hogehoge.js".

なんて表示されて、自動テストが止まってしまうのです。
この後、何度ソースを書き換えても自動テストは走りません。

こうなると、Karmaを一旦止めて、リスタートさせるしかありません。
そうするとしばらくはうまくいくのですが、少し時間がたつとやはり「Removed」が表示されて、テストが止まってしまいます。

これが頻繁に生じて嫌になってしまいました。
手で毎回Jasmineを走らせるのと工数がそれほど変わらないのではないかと。

というわけで、少し調べたところ、どうも、Karmaとテキストエディタに相性があるらしいことが分かってきました。

英語ですけれど、このあたりのGithubのissuueが参考になるでしょうか。

テキストエディタがスワップファイルを作ったり、自動バックアップを作ったりするタイミングと、Karmaの自動実行のタイミングがかちあってしまうとこの現象が起こるようです。
自動バックアップはともかく、スワップファイルの作成については設定ではどうしようもない部分もあるわけで、しかも、Karma側では何年も解決できていない問題になっています。

テキストエディタはVimのみならず、IntelliJ、SublimeText 3、WebStorm といった名前が挙がっています。

うーん、現状これはとってもどうしようもないみたいです。

この記事へのコメント

この記事へのトラックバック