TDD

なんでテストを書くの?

思ったとおりに動いていることを確認する ちょっとずつ確認しながら進んでいくとつまらないバグがなくなる。 プロダクトコードの振る舞いのリスト テストメソッド名で振る舞いを説明する。 テストコードなのでウソの(疑わしい)ドキュメントとならない。 (--t…

「それより俺のテストを見てくれ。こいつをどう思う?」「すごく・・・日本語です・・・・」

「それより俺のテストを見てくれ。こいつをどう思う?」「すごく・・・日本語です・・・・」 オラっち、日本語でテストメソッド名を定義するんダーーイ PHPって、メソッド名を日本語で定義できます(文字コードUTF-8なら)。PHPでTDDワークショップで初めて…

root権のない一般ユーザーでも開発環境でCI(Jenkins/PHPUnit/Phing)してみたい (中編)

前回の続き、pearでPHPUnitインストールなど。 自分用pearの準備 pear自体はPHPについてくるので誰でもつかえると思うんですが、インストール先が/usr/local/phpとかだったり、そもそもpearが古かったりするので自分用のを入れましょう。 .pearrcの生成 /hom…

root権のない一般ユーザーでも開発環境でCI(Jenkins/PHPUnit/Phing)してみたい (前編)

JenkinsやPHPUnitやPhingの導入についてのありがたいまとめはいっぱいあります。 世の中のJenkins/PHPUnitのインストール情報はroot権ある人用 (当たり前) レガシーな開発環境にはPHPUnitなんぞ入ってなかったりします。 そのわりにポートはしっかり閉じられ…

恥知らずなTDD使いがいた!

俺はRDDを使い手なんだがプロジェクトリーダーがが残念なことにTDDを使ってきたので「お前それで良いのか?」と言うと「何いきなり(テスト書かずに)実装してるわけ?」と言われた。 俺の前プロジェクトチームがTDDの熟練者なのだがおれはいつもデスマーチに…

テストコードのディレクトリ構成

今日のレガシー対応 ディレクトリ構成のお手本が見つからない PHPUnitのテスト用ディレクトリ構成はこうしなさい、みたいなのが見つからなかったので悶々と悩み続け・・・ Rails的なディレクトリ テストの内容でディレクトリを分けるか・・・ test |-- fixtu…

privateメソッドのテスト

今日のレガシー対応 privateメソッドをテストハーネスに入れた あるクラスのprivateメソッドのテストをしたい class Hoge { public pubMethod(){ $this->meth1(); ・・・ $this->meth2(); ・・・ } private meth1(){ ・・・ } private meth2(){ ・・・ } } …

PHPでTDD&CIワークショップ に参加してきました

勉強会は初めてで敷居が高いもののどうしてもテストがうまく書けなかったのでヒントをもらおうと、勉強会に勉強しに行った素人です。とても勉強になりました。レガシーコードに立ち向かう気力も頂きました。ほんとうにありがとうございました。 以下、TDD等…

既存システムでTDDするのが難しい理由

TDDしたい、CIしたいと思ってもなかなか導入できない。何でだろう? PHP製WebアプリケーションでのTDDを学び始めた現時点の気持ちまとめ。 Seleniumを使うような高いレイヤーのテスト どんなテストを書けばいいのかわからない 例えばDBから商品情報取ってペ…