Подтвердить что ты не робот

Как объединить два интерфейса при создании mocks?

Мы используем Rhino Mocks для выполнения некоторого модульного тестирования и должны издеваться над двумя интерфейсами. На объекте реализован только один интерфейс, а другой реализуется динамически с использованием аспектно-ориентированного подхода. Есть ли простой способ объединить эти два интерфейса динамически, чтобы можно было создать макет и методы, заглушенные для обоих интерфейсов?

4b9b3361

Ответ 1

Макет с несколькими интерфейсами с использованием Rhino Mocks может быть сгенерирован следующим образом:

var mocker = new MockRepository();
var mock = mocker.CreateMultiMock<IPrimaryInterface>(typeof(IFoo), typeof(IBar));
mocker.ReplayAll();

Ответ 3

Это не динамический, но, безусловно, простой: создайте интерфейс в своей тестовой сборке, который ничего не делает, кроме реализации двух других интерфейсов:

internal interface ICombined : IFirstInterface, ISecondInterface {}

Затем макет ICombined.