Я пытаюсь получить лучшее покрытие кода с помощью своих юнит-тестов, и недавно я перешел на использование RhinoMock для своих нужд Mocking.
Но у меня возник вопрос о том, как написать конкретный юнит-тест,функция Save ().
У меня есть интерфейс IView с несколькими функциями для извлечения значений из представления (страница aspx), примерами являются GetUsername (), GetPassword (), GetAddress () и GetCountry ().
Когда пользователь нажимает кнопку отправки, я хочу иметь тесты, которые проверяют, действительно ли все эти функции вызываются.Итак, я написал этот тест:
[TestMethod]
public void MainController_Save_ShouldRetrieveLUsername()
{
//Initialize the IView and Controller
InitViewAndController();
//Trigger the Save function triggering the controller
//to collect information for storage
_controller.Save();
_view.AssertWasCalled(s => s.GetUsername(), o => o.Repeat.Once());
}
Теперь, наконец, встает вопрос, учитывая, что aspx содержит 15 полей ввода, которые необходимо сохранить, есть ли лучший способ проверить это поведение, написав и поддержав 15 из нихтесты?С одной стороны, тест должен быть простым и оптимальным только для одного Assert, но 15 из этих функций кажутся ненужными.