J'écris des tests unitaires pour ma classe de présentation dans MVP pattern.Mais j'ai du mal à écrire le code de configuration fictif.Comment puis-je faire face à trop de fausses attentes dans les tests unitaires?
J'ai un présentateur et quand la méthode de charge du présentateur appelée Je veux tester la vue devrait charger les propriétés de classe, les champs de table, les types de données, le présentateur .... Alors quand j'ai autre chose à faire avoir à ajouter de nouvelles attentes à tester. Et le test s'agrandit à chaque fois.
[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();
}
}
Y at-il une odeur de code dans ce code? Comment puis-je améliorer ou simplifier cela?
Pourriez-vous s'il vous plaît marquer cette réponse comme la bonne réponse? Merci! – guerda