.NET 4 を使用して、TDD またはその他の形式の自動テストに関して記述されていないコードをテストしたいと考えています。
VS2010 に統合された単体テストは私の目標には不十分なので、Pex & Moles を検討しました。
私が持っているのは、リモート デバイス上のビデオ ファイルを表すために使用されるコードです。デバイスへのアクセスは特定の SDK を介して処理され、その SDK 用にラッパーが作成されます。Moles を使用すると、ラッパー関数をオーバーライドして、ローカル ファイルからデータを読み取る関数に置き換えることができます。Moles と統合単体テストを使用してそれを行います。しかし、それだけでは十分ではありません。「常に動作している」デバイスをそのように模倣することしかできないため、実際には失敗することがよくあります。
PexChoose を偽のメソッドの本体に追加することを考えました。これにより、Pex はさまざまなメソッドの実行結果の可能な組み合わせのツリーを構築できるようになります。
ただし、既存のコードから Pex テストを作成しようとすると、テストからすべてのパラメーターを削除し (それらは必要ありません。すべてが内部で調整されます)、モック メソッドを追加して Pex Explorations を実行しようとすると、「パス」になります。境界を超えました」というメッセージ。非常に高い境界を設定しようとしましたが、役に立ちませんでした。これを解決するにはどうすればよいですか?
私は Moles、Pex、および単体テスト全般に非常に慣れていないため、概念的に間違っている可能性があります。前もって感謝します。