TDDの最近のブログ記事



TDDを求めるエンジニアが多いので、gaucheでのユニットテスト例。



;;テスト対象
(define (proc1 a b c)
(if (and (<= a b)(<= a c))
(+ (proc2 b)(proc2 c))
(proc1 b c a)))

(define (proc2 x)
(* x x))

#|
以下ユニットテスト例。
|#
;;テストモジュールを読み込む
(use gauche.test)

;;テストをスタート
(test-start "proc1 test")

;;テスト群の名前付け。
(test-section "test group 1")

;;テスト項目
(test* "proc1 13" 13 (proc1 1 2 3))
(test* "proc1 25" 25 (proc1 2 4 3))
(test* "proc1 41" 41 (proc1 5 4 3))
(test* "proc1 2" 2 (proc1 1 1 1))

;;テストの終了
(test-end)

実行結果



Testing proc1 test ...
<test group 1>-----------------------------------------------------------------
test proc1 13, expects 13 ==> ok
test proc1 25, expects 25 ==> ok
test proc1 41, expects 41 ==> ok
test proc1 2, expects 2 ==> ok
passed.

参考



Gaucheについてまとめた記事


Gaucheの有用情報まとめ