
77
4.2 入力データをハードコーディングする
ある、コントロールできるデータとできないデータの微妙なバランスを解決していきます。まずは、
できるだけ多くのテストデータをテスト実装から抽出するところから始めましょう。
4.2
入力データをハードコーディングする
テストデータをハードコーディングすることは、ソフトウェアに何かをハードコーディングする
のと同じです。これはその場しのぎの修正であり、あなたはいつまでも悪夢に悩まされることにな
ります。
3
では、テストに存在していたバッドプラクティス
をリファクタリングしました。ところが、依然として、テストにはテストデータがハードコーディ
ングされています。そうしたテストデータがどれだけ私たちを苦しめるか考えてみましょう。
•
URL
たいていのウェブプロジェクトと同様に、私たちはステージング、
ローカルホスト、デベロップメントといった複数のテスト環境を持っています。私たちの
テストにはアプリケーションの
URL
がハードコーディングされており、ステージングと
本番の両方の環境でテストを実行するには、テストコードを変更する必要があります。
•
ーー通常、それぞれのテスト環境は同じ商品データを共有し
ていません。たいていの環境は、本番環境で使われる商品の一部しか持っていません。本
番環境に過去存在しなかった、あるいは今後も存在しないであろう商品を持っているテス
ト環境もあります。
•
ーーー ...