Прошу совет по RhinoMocks
От: Lexxpin  
Дата: 14.01.10 10:10
Оценка:
Добрый день.
Столкнулся с одним юзокейсом, не могу понять как разрулить.
Есть у нас View, которую тестируем:
        public sealed class View 
        {
            IViewModel ViewModel { get; set; }

            public View(IViewModel viewModel)
            {
                ViewModel = viewModel;
            }

            public void UseDataSource()
            {
                ViewModel.DataSource.Refresh();
                ViewModel.DataSource.LazyLoad(true);
            }
        }

View зависит от ViewModel:
        public interface IViewModel
        {
            IDataSource DataSource { get; set; }
        }

А ViewModel в свою очередь от IDataSource:
        public interface IDataSource
        {
            void Refresh();
            int LazyLoad(bool t);
        }

Написал следующей тест и ожидаю его успешное завершение:
        [TestMethod]
        public void TesteViewAndVMAndDS()
        {
            var mocks = new MockRepository();
            var vm = mocks.DynamicMock<IViewModel>();
            var dataSource = mocks.DynamicMock<IDataSource>();
            Expect.Call(vm.DataSource).Return(dataSource).Repeat.Any();
            Expect.Call(dataSource.LazyLoad(true)).Repeat.Once();
            Expect.Call(dataSource.Refresh).Repeat.Once();
            mocks.ReplayAll();
            var view = new View(vm);
            view.UseDataSource();
            mocks.VerifyAll();
        }

Но он вылетает со следующей ошибкой:

InvalidOperationException occurred
Previous method 'IDataSource.LazyLoad(True);' requires a return value or an exception to throw.

Посмотрел доки и примеры использования, но пока не придумал как решить проблему.
Re: Прошу совет по RhinoMocks
От: Lexxpin  
Дата: 14.01.10 10:11
Оценка:
Версия RhinoMocks 3.5 for Silverlight
Re: Прошу совет по RhinoMocks
От: Lexxpin  
Дата: 14.01.10 10:29
Оценка:
Я дурак, просьба удалить тему
Re[2]: Прошу совет по RhinoMocks
От: Other Sam Россия  
Дата: 14.01.10 10:41
Оценка: 4 (1) :)
> Я дурак, просьба удалить тему

Не согласен.
Лемма: Правильно поставленный вопрос есть половина ответа.
Следствие: Без правильно поставленного вопроса максимум, что можно
найти, это половину ответа.
Гипотеза: Вероятно в вашем случае вам не хватало первой половины ответа
(т.е. вопроса). Сформулировав его, вы получили весь ответ целиком. Это
"штатный" режим работы естественного интеллекта. А следовательно
применение эпитета "дурак" противоречит логике.

Posted via RSDN NNTP Server 2.1 beta
Re[3]: Прошу совет по RhinoMocks
От: OpenQuality http://openquality.ru/
Дата: 14.01.10 14:49
Оценка:
Здравствуйте, Other Sam, Вы писали:

>> Я дурак, просьба удалить тему


OS>Не согласен.

OS>Лемма: Правильно поставленный вопрос есть половина ответа.
OS>Следствие: Без правильно поставленного вопроса максимум, что можно
OS>найти, это половину ответа.
OS>Гипотеза: Вероятно в вашем случае вам не хватало первой половины ответа
OS>(т.е. вопроса). Сформулировав его, вы получили весь ответ целиком. Это
OS>"штатный" режим работы естественного интеллекта. А следовательно
OS>применение эпитета "дурак" противоречит логике.

OS>-)


Сильно!
OpenQuality.ru | Качество программного обеспечения
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.