編集:言語/プラットフォームは、私は現在、私の現在のプロジェクトでの豊富なユニットテストの空白を埋めるためにしようと、確かに新しいものだのC#/。ネットモック非仮想イベント
ですTDDに、より重要なビジネス上の機能のいくつかをテストする方法についてはかなり困惑しています。
私はMoqをピックアップして簡単なモックをやっていましたが、私のアプリケーションの中核では、ユニットテストを適切に概念化するのが難しい、複雑で怖いCOMインターレイヤーがあります。 COMコンポーネントは完全に第三者であり、したがって変更することはできず、電話を処理するための有限状態マシンに相当するものを実装します。このコンポーネントは、仮想以外のイベントのセットを使ってアプリケーションに通知しますが、これは状態の変化をシミュレートするために特定のオーダーでテストしたいものですが、Moqは仮想イベント以外は何もしません。
もっと知識の豊富なTDDers/Mockistsへの私の質問は、です。どうやってこのようなことをテストするのですか?
明らかにTypeMockはこれをサポートしています(自分の欠点と引き換えに)。しかし、タイプセーフと私の背中の背後にある何かを嫌う一般的な感覚に関しては、それを使用していません。
COMコンポーネントと抽象レイヤーの間にテスト可能な相互作用が常に存在するという点で、これはまだまだ問題の根幹になっているようです。たぶんTDDの哲学の私の理解は根本的に欠陥がある... – TheMissingLINQ
Nope。あなたはかなり大丈夫です。しかし、もう一度、何も完璧ではありません。 – Will