0

.NET 4 を使用して、TDD またはその他の形式の自動テストに関して記述されていないコードをテストしたいと考えています。

VS2010 に統合された単体テストは私の目標には不十分なので、Pex & Moles を検討しました。

私が持っているのは、リモート デバイス上のビデオ ファイルを表すために使用されるコードです。デバイスへのアクセスは特定の SDK を介して処理され、その SDK 用にラッパーが作成されます。Moles を使用すると、ラッパー関数をオーバーライドして、ローカル ファイルからデータを読み取る関数に置き換えることができます。Moles と統合単体テストを使用してそれを行います。しかし、それだけでは十分ではありません。「常に動作している」デバイスをそのように模倣することしかできないため、実際には失敗することがよくあります。

PexChoose を偽のメソッドの本体に追加することを考えました。これにより、Pex はさまざまなメソッドの実行結果の可能な組み合わせのツリーを構築できるようになります。

ただし、既存のコードから Pex テストを作成しようとすると、テストからすべてのパラメーターを削除し (それらは必要ありません。すべてが内部で調整されます)、モック メソッドを追加して Pex Explorations を実行しようとすると、「パス」になります。境界を超えました」というメッセージ。非常に高い境界を設定しようとしましたが、役に立ちませんでした。これを解決するにはどうすればよいですか?

私は Moles、Pex、および単体テスト全般に非常に慣れていないため、概念的に間違っている可能性があります。前もって感謝します。

4

2 に答える 2

0

私のために働きます。pex の調査結果は次のとおりです: http://xmages.net/storage/10/1/0/c/e/upload/c6c9ced6.png

于 2011-06-07T20:01:37.260 に答える
0

SDK 内で発生した障害 (ディスクなどによる) にアプリケーションがどのように応答するかをテストしようとしている場合、デリゲートで例外をスローすることを妨げるものは何もありません。

于 2011-04-27T20:13:59.803 に答える