morit****@razil*****
morit****@razil*****
2008年 5月 14日 (水) 18:47:18 JST
森です。 Gaucheと組み合わせたテスト良さげですねー。 そもそもGaucheをQLとして使うという案もあったのですが、 検討の結果とりあえずは小さな処理系を使おうとということで 現在のアプローチに至っています。 >>> Kouhei Sutou さんは書きました: > 須藤です。 > > 2008/05/09 16:47 Tasuku SUENAGA <a****@razil*****>: > > > 将来的には、SennaQLという言語でテストを書く予定です。 > > これは、SennaQL上にテスティングフレームワークを構築してテストを > 作成する、という感じになるのでしょうか? > > SennaQLは入出力はS式でいけるので、他のScheme処理系でテストを書 > いて、SennaQLの処理系に入出力をつなげてテストをするということも > できると思います。 > > こんなイメージです。 > > SennaQL: > (define (plus x y) > (if (zero? y) > x > (plus (+ x 1) (- y 1)))) > > Scheme: > (call-with-process-io "senna /tmp/xxx" > (lambda (input output) > (display input "(plus 1 3)") > (assert-equal 4 (read output)))) > > > 昔はuimもこんな風にしてテストをしていました。 > > この方法のメリットはこんな感じです。 > > * SennaQLがそんなに便利関数を持っていなくても、Scheme処理系が > 便利関数をたくさんもっていれば楽にテストが書ける > * SennaQLが落ちてもテストが続行される > * SennaQL用のテスティングフレームワークを作らなくてもよい > > デメリットはこんな感じです。 > > * 別プロセスを起動するので普通より遅い > > > この方法を使うならScheme処理系は多言語対応しているのでGaucheが > いいと思います。そういえば、Gauche用のテスティングフレームワーク > としてGaUnitというのがあります。 > http://www.cozmixng.org/~rwiki/index.rb?cmd=view;name=GaUnit > > 今よりももっと楽にテストを書けるようなAPIが追加しようという意志が > あるようです。 > > _______________________________________________ > Senna-dev mailing list > Senna****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/senna-dev > バグ報告方法:http://qwik.jp/senna/bug_report.html > -- morita