Установление ожиданий в отношении MoQ

Я использую MoQ для тестирования некоторых контроллеров, которые у меня есть. Я не могу оправдать ожидания. Это код, который у меня есть:

        var rep = new Mock<IUserRepository>();
        rep.Setup(r => r.Save());

Проблема в том, что мой Save() метод ожидает объект User, который я не могу установить в ожидании, потому что его экземпляр будет создан контроллером. Можно ли установить ожидание без передачи определенного параметра и просто проверить, был ли вызван метод, независимо от того, какой параметр был передан?


person tucaz    schedule 30.12.2009    source источник


Ответы (1)


Можете ли вы объяснить, что вы имеете в виду под «методом Save () ожидает объект User»? Ожидается ли это как параметр? Если да, вы можете определить это в настройке:

rep.Setup(r => r.Save(It.IsAny<SomeObjectType>())

И он будет принимать любой объект, если его тип SomeObjectType.

Если вы имели в виду что-то еще, то покажите образец кода ожидаемого поведения.

person Eilon    schedule 30.12.2009
comment
Это правильно. Я только что нашел сам. Я пытался с It.IsAny ‹Object› (), в то время как мой метод ожидал параметр пользователя. Я использовал It.IsAny ‹User› (), и это сработало. Большое спасибо! - person tucaz; 30.12.2009