最近Jestを使ってTDDぽく開発し始めてみた。 emacsからもテストが通ったかどうか確認しやすいように設定した。
使ったのはemacs-tdd. .el
をload-pathに設置した。
github.com
ファイル保存時にrecompile
を呼んで、その結果に応じてmode-lineにマークを表示してくれる。
- テスト中
- テスト失敗
- テスト成功
ヘルプによるとrecompileはcompileを呼び、それはcompile-commandを実行するとのこと。
js2-modeでnpm test
を実行するならこんな感じの設定になる。
(require 'tdd) ;; tdd runs `recompile' when file saved. ;; `recompile' exec `compile-command' (add-hook 'js2-mode-hook (lambda () (set (make-local-variable 'compile-command) "npm test")))
今回の場合、前提としてpackage.jsonにjestを呼ぶ設定がしてある。
package.json
... "scripts": { "test": "jest" }, ...