Я пытаюсь вычеркнуть макет с параметром базового класса и вернуть ему одно и то же значение для каждого вызова. Кажется, я не могу заставить его работать правильно, и я не могу правильно сформулировать формулировку в Google.Метод Stubbing с параметром базового класса в Rhino Mocks
Основные структуры данных
public abstract class Base { }
public class BaseImplA : Base { }
public class BaseImplB : Base { }
public interface IDoStuff
{
bool DoStuff(Base b);
}
Реализация:
var MockDoStuff = MockRepository.GenerateMock<IDoStuff>();
MockDoStuff.Stub(x => x.DoStuff<Arg<Base>.Is.TypeOf);
.Return(true);
Заглушка не возвращает истину, потому что это тип проверки, BaseImpl
вместо Base
.
Что нужно изменить, чтобы принять его, чтобы принять его Base
вместо добавления заглушек для каждого из моих BaseImpl
-esque типов?
Oops! Спасибо, что поймал это. 'IDoStuff' должен быть интерфейсом, а не классом. Я исправил это в своем вопросе. – Cameron
Наличие интерфейса и использование заглушки MockRepository.GenerateStub() также будет работать. –