TDDに入門した。一番良いのを写す。(続々々)

WEB DBPRESS vol.35の写経の続き。第7章。

設計が変わったときにテストコードをどう追随させるか、という会話を昨日会社でしたばかりだったので、テストの資産価値の話が出てきて、おぉ、と思いました。

考え方が逆なんですね。テストを追随させるんじゃなくて、テストをなるべく書き換えずに済む方法で修正する。HowでなくWhatのテストを書いておけばそれができるはずっていう話。

テストを書くときに、実装方法を極力考えずに、外から使う方法だけに着目する視点を保つことができればいいんでしょうけど・・・正直まだできません。練習するしか。

余談

javax.servlet.ServletResponseインタフェースにあるsetCharacterEncodingメソッドを、Httpレスポンスのインスタンスに対して呼び出せない。Eclipseで赤いニョロニョロ出るよ。何かミスってるかも。とりあえず、setContentTypeでエンコード指定も一緒に書くことで代用中。

(追記)

別のjarを使うようにしたら解決しました。FAQだった。

web.xmlサーブレット2.3のDTD宣言をしていたせいだと思っていましたが、違ったみたい。宣言と無関係のバージョンが実行されているのは事実だけど。

アプリケーションサーバによってスキーマの指定と実行されるバージョンが異なるという話も、それはそれで大切なのでメモ。