Добрый день.
Столкнулся с одним юзокейсом, не могу понять как разрулить.
Есть у нас 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.
Посмотрел доки и примеры использования, но пока не придумал как решить проблему.
Я дурак, просьба удалить тему
> Я дурак, просьба удалить тему
Не согласен.
Лемма: Правильно поставленный вопрос есть половина ответа.
Следствие: Без правильно поставленного вопроса максимум, что можно
найти, это половину ответа.
Гипотеза: Вероятно в вашем случае вам не хватало первой половины ответа
(т.е. вопроса). Сформулировав его, вы получили весь ответ целиком. Это
"штатный" режим работы естественного интеллекта. А следовательно
применение эпитета "дурак" противоречит логике.
Posted via RSDN NNTP Server 2.1 beta