С RhinoMock, как я могу протестировать не виртуальный метод, который сохраняет базу данных? - PullRequest
0 голосов
/ 31 марта 2020

Я сталкиваюсь с этой проблемой прямо сейчас, у меня совсем нет опыта с Rhino Mocks и Unit Test в C#. Так как я новичок, я начинаю читать множество топик c здесь, а официальный - c носорога, но я не могу найти подходящий способ справиться с этой проблемой.

У меня есть этот метод на контроллере, который вызывает другой метод в классе обслуживания, внутри этого метода обслуживания есть вызов к хранилищу данных, информация сохраняется.

Пока все хорошо, у меня есть правильная настройка и все мои службы должным образом проверены, поскольку многие тесты уже работают.

Но когда я пытаюсь использовать service.Expect в этом методе я получаю ошибку ISession, я знаю, почему это вызывается, но если я добавьте в метод Virtual, все в порядке и тест пройден (также покрытие выполнено).

Я пытаюсь выяснить, есть ли способ выполнить эту задачу без добавления этого виртуального Действительно, в данном конкретном случае c модификатор VIRTUAL не причиняет вреда, но мне не кажется обязательным использовать виртуальный в случаях только ради модульного теста.

public virtual Requerimento CumprirExigenciaAnaliseDocumental(Requerimento requerimento)
    {
        requerimento.InserirSituacao(TipoSituacaoDaAnaliseDocumental.AguardandoAnaliseDocumental);
        RepositorioDeRequerimento.Salvar(requerimento);
        return requerimento;
    }

Т Это метод с добавленным виртуальным.

...