2

私は単体テストを持っています

  1. モックを作成します
  2. テストするメソッドを呼び出します(モックも注入します)
  3. メソッドの結果をアサートします
  4. モック呼び出しを検証します

モック呼び出しが期待どおりに検証されない場合、例外が発生し、テストに失敗します。
これを検証と正しく呼び出すにはどうすればよいですか? 電話するだけでいいのかな

// verify property get accessor call
m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce());

またはAssertで呼び出す必要があります

// verify property get accessor call
Assert.DoesNotThrow(() => m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce()));

検証が失敗すると、とにかく例外が発生します。
模擬検証の正しい方法は何ですか?

4

2 に答える 2

2

VerifyGet で十分です。assert は値を追加しないように思われます。

于 2009-07-10T14:36:44.847 に答える
1

DoesNotThrow メソッドは、独自のメソッドが仕様に準拠しているかどうかをテストするために使用する必要があります。

つまり、DoesNotThrow を追加すると、SUT の動作ではなく、VerifyGet の動作をテストしているように見えます。

もちろん、VerifyGet をラップすることもできますが、VerifyGet はとにかくテストに失敗するため、混乱を招くだけだと思います。

于 2009-07-10T14:44:48.717 に答える