somemo programming etc.

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【TDD】テスト駆動開発入門7章完了

今回は、ドルとフランを比較するテストを実装しました。

 

テスト実装

5ドルと5フランを比較した場合、ドルとフランのレートは違うので等しくないことを確認します。 テストはDollarクラスのテストに実装しました。 Moneyクラスのテストが無いけど直接扱っていないので気にしないことします。

 

レッド

しかし、実装されている比較は総額の整数を比較するため等しく扱われます。 コードの修正 そこで、具体的な通貨を示すクラス名を比較の材料にしました。

 

グリーン

5ドルと5フランの比較は無事グリーンになりました。 また、5ドルと5ドルの比較があるので、三角測量にもなっています。 網羅的には、5ドルと6フランの比較をする必要がありますが、それは別のお話ですね。

 

問題点

クラス名を材料に比較をしたが、本来は通貨として違うこと比較したいはずです。 これは、TDD入門に書かれている「ドメインで意味のある基準を使用していきたい」だと思います。

しかし、基準を導入する十分な根拠でないらしく、ここで比較は終了です。(ToDoには追加する) 実際、このような疑問をもったらすぐに実装してしまうと思います・・・。 本質的でないのにもかかわらず、後回しにしてしまうのはリズムなのかなと思いました。 以上。