私は、Jeffとjpaverの両方のコメントに同意します。また、アーキテクチャにコンポーネントモデルを採用すると、テスト容易性が大幅に向上することを付け加えました。コンポーネントモデルでは、各コンポーネントは単一の作業単位を実行し、単独で(またはモックオブジェクトが制限されている状態で)テスト可能である必要があります。
同様に、エンティティに依存するゲームの他の部分は、機能するコンポーネントのサブセットのみに依存する必要があります。実際には、これは通常、これらの領域のテストを容易にするためにいくつかの偽のコンポーネントをモックアウトできること、または単にテスト目的で部分エンティティを構成できることを意味します。たとえば、レンダリングおよび入力コンポーネントは物理をテストするために必要ないため、除外します。
最後に、ゲームコミュニティの一部のインターフェイスから得たパフォーマンスに関するアドバイスは無視します。インターフェイスを使用してコードを適切に記述し、将来的にパフォーマンスの問題が発生した場合、問題を解決するために簡単にプロファイル、識別、およびリファクタリングを行うことができます。インターフェイスのパフォーマンスへの影響や、追加された複雑さのオーバーヘッドに関するNoelの懸念に納得しませんでした。
とは言うものの、あらゆる小さなことを個別にテストしようとして、行き過ぎないでください。ほとんどのことと同様に、テストと設計は適切なバランスをとることに関するものです。