ASP.Net MVC - Rhino Mocks - Ожидаемые параметры вызова метода - PullRequest
0 голосов
/ 07 января 2011

Я устанавливаю ожидание для метода, который имеет объект в качестве параметра.Этот объект будет создан внутри вызываемой функциональности.Когда я высмеиваю это, я получаю сообщение об ошибке "Ожидаемый # 1 Фактический # 0

Как решить эту проблему?

Код:

Customer testObject = new Customer ();Expect.Call (sampleRepository.Find (testObject)). Return (True);

Я подозреваю, что создание нового объекта делает это ожидание неудачным.

Пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 07 января 2011

В дополнение к ответу Патрика вы можете использовать Constraints() для проверки свойств объекта без необходимости проверки самого экземпляра объекта. Каждый аргумент Constraints является ограничением для фактического аргумента в этой позиции (вы можете использовать && или || для нескольких ограничений для их объединения):

Customer testObject = new Customer();

Expect.Call(sampleRepository.Find(testObject))
    .Constraints(
        Is.NotNull() && Property.Value("Nickname", "SnakeEyes")
    )
    .Return(True);
1 голос
/ 07 января 2011

Используйте метод "IgnoreArguments":

Customer testObject = new Customer(); Expect.Call(sampleRepository.Find(testObject)).IgnoreArguments().Return(True);

Это говорит Rhino.Mocks просто ожидать вызова "Find", и вам все равно, какие параметры.

...