1

すべてのコード ベースで TDD の原則に従おうとしています。フロントエンド (MVC) とバックエンド部分は分割され、フロントエンドは独自のモデル オブジェクトを使用しますが、バックエンドはデータベース オブジェクトを使用し、ドキュメント データベース (RavenDb) に保存されます。

CustomerModelこれには、 sayから への多くの変換が必要CustomerDataです。これらは互いに独立して作成されるため、構造が一致しない場合があります。たとえば、ネストされた object がある場合、 はCustomerModelフラットである可能性があります。CustomerDataContactDetails

ConvertCustomerModelToCustomerData現在、 sayとの 2 つのメソッドを実装していConvertCustomerDataToCustomerModelます。これらは非常に似ていますが、互いに逆です。これとは別に、これらのメソッドも単体テストされています。したがって、同様のコードが 4 つのインスタンス (変換ごとに 2 回、単体テストごとに 2 回) で作成されます。

これは維持するのに大きな頭痛の種であり、私には正しくないように思えます。を使用してAutoMapperみましたが、かなり固いことがわかりました。また、これを単体テストする方法が見つかりませんでした。

どんなアイデアでも大歓迎です。

4

1 に答える 1