私の職場の「アーキテクト」から受け継がれた悪い慣行を数年間守り、もっと良い方法があるに違いないと考えた後、私は最近、TDD と DDD について読んでいます。私たちが作成するソフトウェアの複雑さに非常に適しています。
しかし、私が見た TDD サンプルの多くは、ドメイン オブジェクトのメソッドを呼び出してから、オブジェクトのプロパティをテストして、動作が正しく実行されることを確認しています。
一方、業界で尊敬されている何人かの人々 (Greg Young は、CQRS に関する彼の講演で最も顕著です) は、すべての「ゲッター」を削除することによって、各ドメイン オブジェクトを完全にカプセル化することを提唱しています。
したがって、私の質問は次のとおりです。状態の取得が禁止されている場合、ドメインオブジェクトの機能をどのようにテストしますか?
私は何か基本的なことが欠けていると思うので、遠慮なく私をバカと呼んで教えてください - どんなガイダンスも大歓迎です.