run-test.el

HOME > それいけ Emacs > テスト
English
Last modified: Fri Oct 31 10:54:03 +0900 2008

なにこれ?

Emacs上でのテストの実行を支援するEmacs-Lispです. run-test-setting.elはrun-test.elの設定例です.

インストール

ここではGaUnitで書かれた Gaucheのテストを走らせる例を載せていますが、 Rubyの Test::Unit、Python のPikzie、Cの Cutterな どのテストでもかまいません。

.emacsに以下を記述します.

(setq load-path (cons run-test{,-setting}.elがあるディレクトリ load-path))
(load "run-test-setting")

テストを実行するスクリプトrun-test.scmを書きます.例えば,こ んな感じです.

#!/usr/bin/env gosh

(add-load-path ".")

(use test.unit)

(define base-dir (sys-dirname *program-name*))
(for-each load (glob #`",|base-dir|/**/test-*.scm"))

次に,testというディレクトリを作って,この run-test.scmに実行権を付けておいておきます.

テストファイルはtestというディレクトリ以下に test-hoge.scmという名前で作っていきます.つまり,ディレクト リ構成は以下の様になります.

topdir --- test --- run-test.scm
                 |
                 +- test-hoge.scm
                 |
                 .
                 .
                 .
                 |
                 +- test-fuga.scm

テスト(run-test.scm)はtopdirで起動されます.つまり,

% test/run-test.sh

というように起動されます.

run-test.scmを書くときはこのことに注意しましょう.

設定はこれで終了です.

topdir以下にいるときはC-cC-t(run-test)で topdir/test/run-test.shが実行できます.実 行結果は*run-test*バッファに挿入されます.テストを実行し て失敗/エラーがおきたらエラーが発生したassertionにC-x`でジャ ンプすることができます.

これで手軽に頻繁にテストを実行できますね.Happy testing!!

カスタマイズ変数など詳しいことはrun-test.el をみてください。