Как сказать Machine.Fake, чтобы удовлетворить зависимость с заданным типом

Предположим, у меня есть контекст, настроенный так:

Establish context = () =>
    {
        ...

        IFileProcesser processer = new FileProcesser();

        The<IFileProcesser>()
            .WhenToldTo(x => x.Read(Param<Stream>.IsAnything))
            .Return<Stream>(processer.Read);

        ...
    };

Есть ли лучший способ сказать Machine.Fakes не подделывать IFileProcesser и использовать реализацию FileProcesser?

1 ответ

Решение

Вы можете использовать метод Configure для этого.

Establish context = () =>
{
    Configure(x => x.For<IFileProcesser>().Use<FileProcesser>());
};

Если что-то регистрируется таким образом (есть несколько перегрузок Use), оно имеет приоритет над возможностями автоматического моделирования.

НТН

Другие вопросы по тегам