18

Rhino Mocks を使用していくつかの単体テストを実行しており、2 つのインターフェイスをモックする必要があります。オブジェクトには 1 つのインターフェイスのみが実装され、もう 1 つのインターフェイスはアスペクト指向のアプローチを使用して動的に実装されます。2 つのインターフェイスを動的に組み合わせて、モックを作成し、両方のインターフェイスのメソッドをスタブ化できるようにする簡単な方法はありますか?

4

3 に答える 3

17

Rhino モックの使用

var mock = MockRepository.GenerateMock<IFirst, ISecond>();
mock.Stub(m => m.FirstProperty).PropertyBehavior();
((ISecond)mock).Stub(k=> k.SecondProperty).PropertyBehavior();

http://www.richard-banks.org/2010/08/mocking-comparison-part-11-multiple.htmlの情報を見つけて使用しました

于 2012-12-14T21:48:37.593 に答える
14

動的ではありませんが、確かに簡単です。テスト アセンブリ内に、他の 2 つのインターフェイスを実装する以外に何もしないインターフェイスを作成します。

internal interface ICombined : IFirstInterface, ISecondInterface {}

次にモックICombined

于 2009-01-29T14:50:29.007 に答える
3

Rhino モックを使用した複数のインターフェースを持つモックは、次のように生成できます。

var mocker = new MockRepository();
var mock = mocker.CreateMultiMock<IPrimaryInterface>(typeof(IFoo), typeof(IBar));
mocker.ReplayAll();
于 2010-06-04T12:58:08.273 に答える