一般的な設計原則として、「大切ではない詳細はユーザから隠し、大切な詳細は目立つようにする」べきだ。
Dustin Boswell; Trevor Foucher. リーダブルコード (Kindle の位置No.2601-2602). 株式会社オライリー・ジャパン. Kindle 版.
コードのテストコードを記述する際、様々なテストケースでテストコードを作る必要があります。上記の引用文にある大切な詳細とはどの様なケースでテストをしているかの詳細で、大切でない詳細はどの様にテストをしているかです。テストとして実行される最も表面的な部分(メソッド)はテストケースを示す内容以外の記述が極力ないことが理想です。この原則を守るとテストケースを追加するユーザは次の様なテストコードの表面部分のみを読めばよくなります。
このコードはある検索ページのテストです。検索項目の種類(自由入力、日付入力、ドロップダウン、ラジオボタン)ごとにテンプレート化することでテスト内部を共通化しています。この様にした場合、機能追加、テスト実装漏れがあったとしてもテストを追加することが苦にならなくなります。また何をテストしたかもすぐにわかります。このコードを実装するために必要なのは入力部、出力部の共通化です。必要とされる引数、操作の種類が同じならば、テストも共通化できます。これはテストが行うことが、入力部にある値を投げて、期待通りの出力が返ってくるか確かめることだからです。多くのプログラミング言語が持つインタフェースの仕組みを用いると入出力を共通化したコーディングが自然にできます。