Разработка через тестирование - WPF - PullRequest
3 голосов
/ 31 августа 2011

Я бы хотел перенести свой код на модель разработки, более ориентированную на тестирование, но не уверен, что это лучший способ сделать это для уровня представления.

Другие уровни ведут себя как черный ящик, в котором вы можете задатьвход и ожидаемый результат.

Уровень представления не так прост.Существуют ли какие-либо программы, руководства или практики, помогающие в разработке xaml на основе тестирования.

Ответы [ 2 ]

12 голосов
/ 02 сентября 2011

Ну, я не могу удержаться от публикации ответа. Подход, показанный в принятом ответе, является ловушкой обслуживания, если не сказать больше.

Переместите разработку вашего графического интерфейса в модель MVP / MVVM. WPF дружит с MVVM. Создание тонких графических интерфейсов (с минимальным кодом / логикой), которые делегируют / синхронизируют с классом Presenter. Это означает, что вы можете написать модульные тесты для докладчика и протестировать значительную часть своего кода без пользовательского интерфейса. Напишите лишь несколько тестов пользовательского интерфейса и проведите большую часть функционального тестирования с помощью класса Presenter.

Написание тестов пользовательского интерфейса не является ответом (для нетривиальных графических интерфейсов), потому что они

  • нечитаемым. Тесты пользовательского интерфейса вырождаются в длинные тайные сценарии, которые манипулируют элементами пользовательского интерфейса. трудно понять, что проверяется, поскольку как скрывает это. Если вы не можете прочитать его, вам понадобится больше времени, чтобы починить его, как только он сломается.
  • медленно. Вы будете выполнять меньше тестов за единицу времени.
  • ломкими. Изменение в графическом интерфейсе может нарушить ряд ваших тестов, связанных с графическим интерфейсом, даже если функциональность этого не делает. Больше тестового обслуживания.
  • неустойчиво. Вам нужно потратить некоторое время на стабилизацию тестов, чтобы они каждый раз выполнялись надежно. Представляем задержки или опросы для некоторых вещей, чтобы показать.
4 голосов
/ 31 августа 2011

Вот что-то от майкрософт по теме.Для получения дополнительной информации, смотрите ссылку в комментариях.http://msdn.microsoft.com/en-us/magazine/dd483216.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...