2012-03-11 2 views
0

私は、提示されたユーザーが既にdbに存在するかどうかを判断するためにユーザーの連絡先情報を解析する必要があるクラスを作成しています。ソースは検証されていないため、ユーザーが生成したデータはさまざまな条件下で一致するかどうかをテストする必要があります。TDD演習:ユーザーの存在を確認する

コンテンツは3つのフィールドに表示されます。名前(最初は&最後に組み合わせられます)。会社名;メール

私は、これらの可能な一致条件のそれぞれに基づいて結果を返す必要があります。

Exact Match 
Email Match 
Domain Name Only 
Full Name Exact 
Last Name Only 
Institution Match 

は、私は私がこれをコーディングに取り掛かるだろうかの大まかなアイデアを持っていると確信しています正式なTDDアプローチによって生成される結果よりも劣る結果となる。私のTDD学習曲線はちょうどその基本を過ぎていますが、上記のシナリオがどのように完全なライフサイクルを通してどのようにステージングされ、開発されたかを知る深さはありません。

私は建築的観点からプロジェクトを構造化する助けをしたいと思います。 TOUが既にマッチタイプのリスト内の主要な正のテストケースを記載されているよう

THX

+0

正しい軌道に乗っているようです。最初に不合格のテストを書く...合格するために必要な最小限のコードだけを追加してください。重複を探し、それをリファクタリングしてください。繰り返す。 – Gishu

答えて

1

は思えます。だから上から取って、最初のケース(正確なマッチ)のための小さなテストを書いて、それが失敗するのを忘れて、それを合格させ、正確なマッチが働くまで繰り返す。他のマッチタイプについても同様の操作を行います。

+0

私の質問は、テスト自体の構造をどのように作成するかの詳細を理解することに多くなります。私は反復処理の条件のリストを調べているので、あるテストから次のテストに多くのコードを再利用できることはわかっています。このプロセスの私の命令は、あるテストから次のテストにコードを切り貼りすることです。私はそれをしないほどスマートにしたい。 thx – justSteve

+2

テストコードは他のどのようなコードでもありますので、テストを作成してからリファクタリングしてください。 "red-green-refactor"のリファクタ・ステップは、テスト・コードのリファクタリングも行います。 –

関連する問題