普段テストを書かなくて不慣れなのですが、複雑なモジュールを作る必要が生じまして、設計を考える段階でテストを先に書きました。
Xを与えられたらX'を返したい。Yを与えられたらY'を返したいといった感じで。
実装がないままテストに希望を書き連ねました。
そして設計が固まった段階で、いよいよ実装に移ることにしました。
引数として与えられた文字列をパースして配列や細かいオブジェクトに解釈した方が実装がうまくいくように思えました。
しかしこれは実装の詳細に当たるもので、先ほど作成したテスト一覧には含まれておりません。
このテストは作成するべきなのでしょうか。
先ほど作成したテスト(設計書としてのテスト)と、"実装の詳細のテスト" は別の概念のように思えます。実装方法を変更したところで "設計書としてのテスト" は変更されることはありませんが、"実装の詳細のテスト" は実装に追随する必要があるでしょう。
私としては、"実装の内部詳細についてのテスト" はあまり作りたくありません。詳細を変更することはしょっちゅうですが、そのたびにテストの方も修正する可能性が生じるからです。
また、"設計書としてのテスト" はテスト単体で見てもこのモジュールが何をするものなのかを適切に表しているドキュメントになっていますが、"詳細についてのテスト" は結局なにをやっているのか実装内部を理解しないと理解できないかと思われます。
どちらも単体のモジュールについてのテストなので、単体テストには違いないと思いますが、両方(設計書としてのテストと実装詳細のテスト)作る必要があるでしょうか?
もし作る場合はファイルを別に分けるなどした方がいいでしょうか?
ご意見をお聞かせください。
回答1件
あなたの回答
tips
プレビュー