Трудно сказать, что происходит, не видя ваш производственный код. Следующий тест проходит:
public interface IA
{
int A(int a);
}
public interface IB
{
int B(int b);
}
[Test]
public void Multimocks()
{
MockRepository mocks = new MockRepository();
IA mymock = mocks.DynamicMultiMock<IA>(typeof (IB));
Expect.Call(mymock.A(1)).Return(2);
Expect.Call(((IB)mymock).B(3)).Return(4);
mocks.ReplayAll();
Assert.AreEqual(2, mymock.A(1));
Assert.AreEqual(4, ((IB)mymock).B(3));
}
, что означает, что мультимоки работают правильно. Вы уверены, что не звоните в штат более одного раза? Попробуйте изменить макеты на StrictMocks (вы получите исключение, когда вызовы не ожидаются), поэтому:
this.serviceClient = this.mocks.StrictMultiMock<ISlippyPlateProcedureService>(typeof(ICommunicationObject));
и пусть свойство будет прочитано несколько раз:
Expect.Call(((ICommunicationObject)this.serviceClient).State).Return(CommunicationState.Faulted).Repeat.Any();
Дайте мне знать, каковы ваши успехи.