すべてのコード ベースで TDD の原則に従おうとしています。フロントエンド (MVC) とバックエンド部分は分割され、フロントエンドは独自のモデル オブジェクトを使用しますが、バックエンドはデータベース オブジェクトを使用し、ドキュメント データベース (RavenDb) に保存されます。
CustomerModel
これには、 sayから への多くの変換が必要CustomerData
です。これらは互いに独立して作成されるため、構造が一致しない場合があります。たとえば、ネストされた object がある場合、 はCustomerModel
フラットである可能性があります。CustomerData
ContactDetails
ConvertCustomerModelToCustomerData
現在、 sayとの 2 つのメソッドを実装していConvertCustomerDataToCustomerModel
ます。これらは非常に似ていますが、互いに逆です。これとは別に、これらのメソッドも単体テストされています。したがって、同様のコードが 4 つのインスタンス (変換ごとに 2 回、単体テストごとに 2 回) で作成されます。
これは維持するのに大きな頭痛の種であり、私には正しくないように思えます。を使用してAutoMapper
みましたが、かなり固いことがわかりました。また、これを単体テストする方法が見つかりませんでした。
どんなアイデアでも大歓迎です。