В целом, код пользовательского интерфейса не является хорошей целью для модульного тестирования, независимо от того, используете вы MVVM или нет. Вы можете выполнить модульное тестирование этого обработчика нажатия кнопки, просто вызвав его непосредственно из своего теста. Если обработчик использует sender
и ожидает, что он станет настоящей кнопкой, вам придется выработать наилучший подход, никто не сможет ответить на это, не увидев ваш код.
Если MVVM поможет вам в этом случае, это позволит вам переместить код в модель представления и представить его через свойство, которое возвращает ICommand
, которое затем связывается со свойством Command
кнопки , Используя этот подход, вы можете инкапсулировать код, который в противном случае был бы встроен в код пользовательского интерфейса, и легко повторно использовать код в других командах (т. Е. В опциях меню).