2017-12-10 20 views
-1

私たちはソフトウェアシステムの開発に専任しています。ほとんどすべてのビジネスロジックが欠けていますが、単純なCRUD操作(およびいくつかのフォームのコントロールはほとんどありません)。 しかし、問題はデータモデルが既に存在し、UIフォームとは無関係です。私は、各フォームが複数のテーブルにマッピングされているか、複数のテーブルに複数の列があることを意味しています。TDD a CRUDアプリケーション複合データベース設計

複雑なレガシーデータベース設計ではなく、ビジネスロジックに従ってObject(エンティティまたはDTO)モデルを設計すると思います。したがって、アプリケーションは簡単でわかりやすく、データアクセスオブジェクトの背後にあるすべての複雑さを包み込んでいます。

これは、テストの最も重要なターゲットである複雑なDAOオブジェクトにつながります。データベースなしでDAOオブジェクトのテストを書くことは可能ですか?どうやって?

+0

これに対して単純な単体テストを使用できない理由は何ですか?いくつかの虚偽のエンティティデータを提供し、UIモデルデータの期待値を設定します。最初にテストを書くのを止めるものはありません。 –

+0

統合テストや機能テストについて言及したテストではありませんか? –

答えて

1

間接参照のレイヤーがないと思います。

実際のデータストアに対する統合テストを使用してDAOがテストされるのは、DAOがこれらのクエリを正常に実行できるかどうかをチェックするためです。

欠落しているレイヤーは、古いモデルと新しいモデルの間の変換レイヤーになります。そのレイヤーは簡単にユニットテストすることができ、2つの間で変換する純粋な関数のみを含める必要があります。

これにより、DAOは単純でテスト容易になり、変換レイヤーのテストも非常に簡単になります。

関連する問題