ert.el を入れてみた。

どもです。
TDD By Example を読んでいる者としては,まずはテストだろうということで,
Emacs Lisp で使用できるユニットテスト用のライブラリを探してみて,
一番最初に見つかったのが,ert.el だったので,マニュアルも入れることにした。

テストよりも大事なもの。

それはドキュメントですよ。
ert.el は 最新版系の Emacs には標準に入っているらしいが,ワタシが使用している,
NTEmacs23.2 では,locate-library しても見つからなかったので入ってないと判断。
また,info しても,それらしきエントリは見あたらないので,それも入れることに。

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を読みます。