ert.el が素敵
どもです。
こないだ書いた ert.el ですが,とても素敵。
el-expectation.el で不満に思っていた,fixture とかですが,
それはワタシのテクのなさが原因だったと,ERT のマニュアルを読んで実感。
すんませんでした。あと,let をガシガシ使えるのが非常に便利。
ほいで,便利なのですが,テストを書いていて実行するときに,
M-x ert から実行するのが,段々と面倒臭くなってまいりました。
とくに selector を指定するのが。
なので,下記の様な関数を .emacs (ワタシの場合は,.emacs.ntemacs.el)に用意して,
編集中のテストを C-cC-c で実行できるようにしました。今のところ便利です。
前提条件として,
(ert-deftest test-foo () ...)
の形式で書かれていることを必要とします。
このS式内で,C-cC-c すると,test-foo を実行します。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; for ert.el (defun my-run-ert-test-maybe () (interactive) (when (eq major-mode 'emacs-lisp-mode) (save-excursion (beginning-of-defun) (let ((line (buffer-substring-no-properties (point) (save-excursion (end-of-line) (point))))) (when (string-match "^(ert-deftest \\([^ \n]+\\) ()$" line) (ert (match-string-no-properties 1 line))))))) (define-key emacs-lisp-mode-map "\C-c\C-c" 'my-run-ert-test-maybe)