コンピュータやソフトウェアのあれこれ@道民(&元道民)
TDD
[TDD][Testing] TDDをはじめる条件 #tddbc #tddconf
4月 22nd
[Win32][PHP][tdd] Windowsでphpunit –colors
12月 16th
あるいはコマンドプロンプトでANSIカラーを表示させる方法。
Windowsのコマンドプロンプトでphpunit --colorsすると、
こんな感じになります。ゲンナリです。グリーンにならないならテストに対する意欲も半減です。コマンドプロンプトに色を付けるには、SetConsoleTextAttribute()とかいうWin32APIを使う必要があるらしいです。で、調べてたら、
WindowsのコマンドプロンプトでもANSIカラーを使いたい「wac」 - MOONGIFT|オープンソース・ソフトウェア紹介を軸としたITエンジニア、Webデザイナー向けブログ
こんなのを見つけました。これはANSIエスケープシーケンスを読みこんでSetConsoleTextAttribute()を呼び出してくれるもの。なんですが中を見てみたら結構手抜きの実装で、phpunit --colorsの出力では上手くいきません。
なんでこれを直してやろうかと色々試行錯誤していたら、別の方法を発見しました。
パイプでwacじゃなくて単にcatに渡してやればいい。このcatはmsysのcat(\msys\1.0\bin\cat.exe)です。msysGitを使ってればそっち(\Program Files\Git\bin\cat.exe)でも良いと思います。
どこのレイヤでそうなってるのかよくわからないような、当たり前といわれれば当たり前ような解決でした。
[TDD][Testing] Developer Test から Customer Test へ #swtestadvent2011
12月 15th
[php][tdd]TDD Boot Camp 札幌 2.3に参加してきた
12月 12th
お題はボーリングのスコア計算システム。PHPチームで参加してきました。
ドキュメントを見ようとしたら、PHPUnitのサイトに全然接続できなくてどうしようかと思いましたが、githubでドキュメントのソースのxmlを見ながらどうにか頑張りました。
@shuji_w6eからもお誉めの言葉をいただき、半日Emacsと格闘したかいがありました。
よかったこと
- PHPUnitで試してみたかったことが色々できた
テストメソッド名は日本語で書いてみました。--testdoxで出力する場合、英字の大文字小文字変換を行なうところで若干文字化けがあったため、先頭は英字という命名規則でやりました。testdoxを使わないのであれば問題無いと思います。
@testアノテーションも使ってみましたが、メソッド名にtest付けた方が速いかなという気もしましたw。@expectedException、@dataproviderアノテーション、markTestIncomplete()は普通に便利。assertThat()も使ってみたかったんですがドキュメント見るのしんどくて断念。
- 「1つ上のレイヤーからテスト駆動開発にアプローチする」というテーマを実践できた
- 簡単にテストを実行すること。見やすく書きやすいテストケースを書くことが重要ということを再認識できた
反省点
- 終了直前までボウリングのスコア計算のルールを勘違いしていた。まだまだ実装するつもりだったのに気付いたら機能テストが通っていた
- 機能テストが通った時点で満足したのと若干集中力が切れたのでニコ動とか見てた
他のチームの振り返りを聞いている途中でやっと何故テストが通ったのかきちんと頭が整理できました。振り返りの順番が最初だったら説明できなかったかもしれませんw
ちなみに見ていた動画はこちら
2008年の角谷さんの講演。2/3からボウリングスコア計算のライブコーディング。見所満載です。
その他
- Behatやってみたい
- JavaScriptやってみたい
- pgTAPやってみたい
- SmalltalkとTDDBCの相性は異常
- Perlのテストコードも見てみたい
- 関数型言語のテストコードも見てみたい
- SCMのイベントもできそうじゃない?
他にも色々ありましたが気が向いたら書きます。
[Java][JUnit][TDD] JUnit のセカイ #JJUG
12月 6th
[TDD] TDDを学ぶべき10の理由 #TddAdventJp
12月 5th
[TDD][TDDBC] TDDBC 横浜に参加してきました
11月 8th
[TDD][TDDBC] TDD Boot Camp 札幌 2.2 を開催します #tddbc
10月 1st
[TDD][TDDBC][JenkinsCI] TDDBC 札幌 2.1 開催しました
9月 26th
[TDD][TDDBC] TDD Boot Camp 札幌 2.0 開催しました
6月 7th

