Ruby(Rack + bundler)のwebアプリケーションでJavaScript部分をTDDで開発する環境を整えてみたので、作業メモを晒してみる。
今回はブラウザを使ったテストなので、GUI環境上に構築していく。
環境
- Mac OS X 10.7.4
- Ruby 1.9.3-p0
- rvm 1.9.2
- Xcode 4.3.2
Ruby(Rack + bundler)のwebアプリケーションでJavaScript部分をTDDで開発する環境を整えてみたので、作業メモを晒してみる。
今回はブラウザを使ったテストなので、GUI環境上に構築していく。
12/17(木)、7月に転職した職場で初の社内勉強会を開催した。
テーマはTDD(テスト駆動開発)。以前からこのblogをお読みの方には見覚えがあると思うが、前職で行った社内勉強会のネタを焼き直しただけのものである。
具体的には、オブジェクト倶楽部で公開されている「車窓からのTDD」[PDF]の内容をPHP + SimpleTest環境でやってみよう、という内容。2003年のものだが、今でもTDD入門としてものすごく有用なドキュメントである。
会場は社内の会議室。各自にノートPCを持ち込んでもらい、ハンズオン形式で実際にコードを書いてもらいながら進めた。また、ペアプロの前段階として「相方」を設定し、質問や相談などは「まずは相方から」というルールを設定した。
スライドはこちら。
「実装例」として書いたコードはこちら。
イベントが重なったり連休に突入したりですっかり遅くなってしまったが、社内勉強会もちゃんとやってますよということでエントリ。
4/22(水)、初登場のkatsumicがPHPUnitについて担当してくれた。スライドはこちら。
内容が有意義なものだったのも素晴らしいし、そのあとテストについてチームで語らうことができたのも素晴らしい。ちゃんと続けていてよかったなぁ、と、最近続けて勉強会の夜は嬉しい気分のまま帰ることができている。
そしてどうやら、水曜の勉強会のあとはOOPJogが定番化しそうな予感。この日は#2が開催されたので、勉強会終了後、同僚とぞろぞろ走ってきた。
とうとう年内の予定は今回でコンプリート!の社内勉強会。当初の予定通りTDD+ペアプロでのライブコーディングを行った。ネタは結局使いまわしてしまったが…。
一応スライドは作ったが、今回はあまり重要ではない。
前回準備した「PHPUnit」のサンプル。「オブジェクト倶楽部」で紹介されている「車窓からのTDD」(PDF)という記事を参考に、TDD(Test Driven Development / テスト駆動開発)とペアプログラミングの演習記事をPHPUnitでなぞってみた。残念ながら自宅で独りで書いたので、ペアプロのサンプルにはならないが。
作るのはスタッククラス。仕様は…
- isEmpty()でスタックが空の場合、true。それ以外false を返す。
boolean isEmpty()- size()でスタックのサイズを取得する。
int size()- push()で引数の値をスタックの一番上に積む。
void push(int value)- pop()でスタックの一番上の値を取り除く。
void pop()
スタックが空の場合、java.util.EmptyStackException が発生する- top()でスタックの一番上の値を取得する。
int top()
スタックが空の場合、java.util.EmptyStackException が発生する(p.3)
…となっている。