Да, это заданное поведение.
Обходной путь, который я использую большую часть времени, заключается в создании вспомогательного метода, который будет настраивать заглушку для вас, т. Е .:
private X MockX()
{
return MockX(100);
}
private X MockX(int returnValue)
{
var x = MockRepository.GenerateStub<X>();
someStub.Stub(x => x.SomeMethod(1)).Return(returnValue);
return x;
}
и затем в своем тесте вместо использования макета, созданного в SetUp, вы вызываете соответствующую функцию. Дополнительным преимуществом является то, что ясно, что ваш тест использует некоторые специальные значения возвращаемых значений.