[Senna-dev 852] Re: Rubyバインディングのテストの走らせ方

Back to archive index

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




Senna-dev メーリングリストの案内
Back to archive index