Rhino Mocksを使用する場合、単体テストを作成するための複数のアプローチが存在します。
- 標準構文
- 記録/再生構文
- 流暢な構文
理想的で最も摩擦のない方法は何ですか?
Rhino Mocksを使用する場合、単体テストを作成するための複数のアプローチが存在します。
理想的で最も摩擦のない方法は何ですか?
.NET 2.0 の場合は、記録/再生モデルをお勧めします。これは、期待と検証を明確に区別できるため、気に入っています。
using(mocks.Record())
{
Expect.Call(foo.Bar());
}
using(mocks.Playback())
{
MakeItAllHappen();
}
.NET 3.5 と C# 3 を使用している場合は、流暢な構文をお勧めします。
興味深い質問です!私自身の好みは、リフレクションベースの構文です (標準構文の意味だと思います)。追加のコードがあまり追加されないため、これが最もスムーズであると私は主張します。スタブが適切に実装されているかのように、インターフェイスでスタブを直接参照します。
Fluent 構文も非常に気に入っていますが、これはかなり面倒です。Record/Replay 構文は、Fluent 構文と同じくらい扱いにくいですが (少なくとも私にとっては)、それほど直感的ではありません。私は NMock2 しか使ったことがないので、記録/再生構文は私には少しなじみがありませんが、Fluent 構文はよく知っています。
ただし、この投稿が示唆するように、期待を検証/アサーションから分離したい場合は、Fluent 構文を選択する必要があります。最終的には、スタイルと個人的な好みの問題です:-)