ert.el を入れてみた。
どもです。
TDD By Example を読んでいる者としては,まずはテストだろうということで,
Emacs Lisp で使用できるユニットテスト用のライブラリを探してみて,
一番最初に見つかったのが,ert.el だったので,マニュアルも入れることにした。
テストよりも大事なもの。
それはドキュメントですよ。
ert.el は 最新版系の Emacs には標準に入っているらしいが,ワタシが使用している,
NTEmacs23.2 では,locate-library しても見つからなかったので入ってないと判断。
また,info しても,それらしきエントリは見あたらないので,それも入れることに。
マルタイの確保。
http://www.emacswiki.org/emacs/ErtTestLibrary
- 本体
http://git.savannah.gnu.org/cgit/emacs.git/plain/lisp/emacs-lisp/ert.el
- マニュアル
https://github.com/ohler/ert/tree/bc51e3e8121d51dc88618847f0958e7ec832c7d2/doc/misc
info ファイルの作成
makeinfo すればオッケーなのですが,というかオッケーということを知ったわけですが,
エラーがでて起こられた。
なので,setfilename というところをコメントアウトしておいた。
こういうときは,teraterm から vi 経由で作業します。
と vi 派の方々に媚びておきます。というか vi の方が早いからね。
% diff -u ert.texi.org ert.texi --- ert.texi.org 2011-09-09 21:57:10.190375000 +0900 +++ ert.texi 2011-09-09 21:57:23.221625000 +0900 @@ -1,6 +1,6 @@ \input texinfo @c %**start of header -@setfilename ../../info/ert +%@setfilename ../../info/ert @settitle Emacs Lisp Regression Testing @c %**end of header
で,
% makeinfo ert.texi
してオッケー。
できたファイルを,ワタシの場合は,/usr/local/info へコピ−。
ほいで,そのディレクトリにある,dir ファイルを編集。
下記のようなのを Emasc 以下へ追記します。
Emacs ... 色々 * ErtTestLibrary: (ert.info). Emacs Lisp library for regression/unit testing.
info の確認。
んだらば,ターミナルから info してみて,ErtTestLibrary が追加されているかどうか,
ほいで,肝心の中身を見られるかどうかを確認。
同様のことを,Emacs 内からも実行して確認。
確認できたら,オッケー。
本体のインストール
仰々しくのたまわってますが,ロードパスの通ったところへ,ert.el を入れて,
locate-library して確認できればいいんじゃね?
お試し。
http://hisashim.org/2011/04/11/unittesting-elisp.html
を参考にすればいいと思うよ!
まとめ
さて,マニュアルを読んで,少し試して見て,気に入ったら使う予定。
気に入らなかったらまた別のを探す。
そう。つまり,本来の目的である,ctags のタグファイルを使用した auto-complete 用の
情報源の作成への着手はまだ当分先のこと。えっ。
追記
info 読みながら,試しているんですけどぉ〜。
あら? これ,とてもいいですねぇ。
懸念材料の1つであった,色の問題,オールクリアです!
- テスト(passed)
(require 'ert) (ert-deftest addition-test () (should (= (+ 1 2) 3))) (ert-deftest another-addition-test () (should (= (+ 1 1) 2)))
- 結果
- テスト(failed)
(require 'ert) (ert-deftest addition-test () (should (= (+ 1 2) 4))) (ert-deftest another-addition-test () (should (= (+ 1 1) 2)))
- 結果
ちょっと楽しなってきてテンションが5くらい上がったので
アップしてみました。
では,引き続きinfoを読みます。