編集:言語/プラットフォームはC#/ .Net
私は現在、現在のプロジェクトで膨大な単体テストの空白を埋めようとしていますが、TDDを初めて使用することは確かですが、ビジネスに不可欠な機能のテストを行う方法についてはかなり困惑しています。
私はMoqを手に取り、簡単なモックを作成するのに十分な時間を過ごしましたが、アプリケーションのコアにはかなり大きくて恐ろしいCOM相互運用レイヤーがあり、ユニットテストを適切に行う方法を概念化するのに苦労しています。COMコンポーネントは完全にサードパーティであるため、変更することはできず、電話を処理するための有限状態マシンに相当するものを実装します。コンポーネントは、状態の変化をシミュレートするために特定の順序でテストしたい一連の非仮想イベントを介してアプリケーションに通知しますが、Moqは仮想イベント以外に対してこれを行う方法を提供していません。
それで、より知識のあるTDDer / Mockistsへの私の質問は、この種のものをどのようにテストするのかということです。
どうやらTypeMockはこれをサポートしているようです(それ自体の欠点と引き換えに)が、型安全性と私の背後で何か悪意のあることをしているという私の一般的な感覚に関するさまざまな理由から、私はむしろそれを使用したくありません。