никак не могу нагуглить ответ: Я рефактарю сервис и пишу к нему тесты с библиотекой moq. В одном из тестируемых методов вызывается метод другого сервиса принимающий 2 параметра и возвращающий новый объект. Далее у этого объекта вызывается метод. Я уже прокинул через di сервис и могу мокнуть возвращаяемый объект, но как мне мокнуть метод этого объекта?
в setup задаешь метод и его результат
Но как мне сделать setup метода в возвращаемом объекте?
также как и обычно же var mock = new Mock<IFoo>(); var mock2 = new Mock<IFoo2>(); mock2.Setup(foo => foo.DoSomething2("ping")).Returns(true); mock.Setup(foo => foo.DoSomething("ping")).Returns(mock.object);
Извиняюсь за задержку, но моей самой первой попыткой разрешения этой проблемы была именно такая реализация. К сожалению это приводит к вот такой ошибке((
хм ладно а накой ваще там мок обьекта та? ты тестируешь поведение конерктного и плевать что там за реализация метода
Так именно для изоляции тестируемого метода я и подставил мок. Кстати я нашел причину этой шибки. Большое спасибо за ответ!
Обсуждают сегодня