image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« socket.io の examples/chat/app.js も coffeescript にしてみた。 | トップページ | coffeescript で epub の表示を。 »

2011-12-30

coffeescript +jasmine-node の例

coffeescript +jasmine-node で クラスの実装、テストをしていく環境を構築してみた。
github に上げてある。
   https://github.com/katoy/triangle

node は 0.6.6 をつかっている。
俺の環境では coffee -c -w がエラー発生するので、cake で *.coffee -> *.js に compiel する
タスクを書いた。

ここで作成したクラスは
  3辺の長さを与えたら、三角形の形状を判定 (正三角形、二等辺三角形、一般、三角形にならない)
するだけのものだ。
テストケースの設計はせずに 入力範囲空間の一部分 ([0..4]x[0..4]x[0..4])を網羅してテストしている。

こんな単純な関数でも、もして作業でテストしたら、バグが入っても捕捉することは困難だろう。
自動テスト環境を構築しておけば、一瞬で挙動の変化の発生有無をチェックすることが可能だ。

小さな web アプリを coffeescript + mongodb で作成すること計画している。
これは そのための準備体操である。

同等の機能のクラスを2通りで実装してある。
しかし、片方のクラスは、内部で整数の数値演算でオーバーフローが起こるような記述になっている。
そして、テストではオーバーフローが起こる状況をキャッチできている。

$ cake spec
NG
Started
...F....

Triangle_bad:最大 - 1
  it x
  overflow! a + b = 200, b + c = 200, c + a = 200

Finished in 0.04 seconds
8 tests, 1517 assertions, 1 failure

« socket.io の examples/chat/app.js も coffeescript にしてみた。 | トップページ | coffeescript で epub の表示を。 »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/184434/53606812

この記事へのトラックバック一覧です: coffeescript +jasmine-node の例:

« socket.io の examples/chat/app.js も coffeescript にしてみた。 | トップページ | coffeescript で epub の表示を。 »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク