Я пишу модульные тесты для своего класса презентации в шаблоне MVP. Но у меня возникают проблемы с написанием фиктивного кода установки.
У меня есть ведущий, и когда вызывается метод загрузки ведущего, я хочу протестировать представление, которое должно загружать свойства класса, поля таблицы, типы данных, устанавливать ведущего.... Поэтому, когда у меня есть другое дело, когда загрузка ведущего всегда мне приходится добавлять новый ожидание теста. И с каждым разом испытаний становится все больше.
[Test]
public void When_Presenter_Loads_View_Should_Display_Selected_Class_Properties()
{
IList<string> dataTypes =new List<string>();
IClassGenerationView view = mockRepository.StrictMock<IClassGenerationView>();
tableRepository = mockRepository.Stub<ITableRepository>();
using(mockRepository.Record())
{
SetupResult.For(tableRepository.GetDataTypes()).Return(dataTypes);
view.Presenter = null;
LastCall.IgnoreArguments();
view.DataTypes = dataTypes;
view.Show();
view.ClassProperties = classProperties;
view.TableName = "Table";
view.Table = table;
LastCall.IgnoreArguments();
}
using(mockRepository.Playback())
{
ClassGenerationPresenter presenter = new ClassGenerationPresenter(view, clazz, tableRepository);
presenter.Load();
}
}
Есть ли в этом коде запах кода? Как я могу улучшить или упростить это?