WPF - PRISM (CAL) - автоматизированное функциональное тестирование - PullRequest
0 голосов
/ 02 мая 2011

Я сейчас новичок в проекте, который был начат 1 год назад.

В этом проекте используются C #, WPF, PRISM (CAL), Entity Framework, LINQ и т. Д. Приложение выполняется с использованием шаблона MVVM.

Есть несколько юнит-тестов, но меня попросили провести функциональное тестирование, потому что большинство ошибок было обнаружено при использовании всех компонентов вместе.

Я начал делать проект MSTEST. Моя цель состояла в том, чтобы запустить весь бэкэнд приложения (модель и модель представления), смоделировать события пользовательского интерфейса и проверить модификации модели, обращающиеся к или более свойствам модели представления.

Моим первым гостем было создание контекста сущности (модели), инициализация всех модулей PRISM и начало публикации событий в модели представления, чтобы изменить мою модель и проверить результаты в той же или других моделях представления. Я должен был:

  • Переопределить призму Boostrapper класса
  • Создайте простое приложение (потому что в MSTEST кажется, что System.Windows.Application.Current равно нулю). Я только что получил класс из System.Windows.Application.

Я могу получить доступ ко всем своим реализациям интерфейсов, используя UnityContainer. У меня сейчас проблема в том, что IEventAggregator не работает. События не проводятся. Я не хочу издеваться над агрегатором событий, потому что хочу, чтобы он запускал мои события между призменными модулями (я выполняю функциональное тестирование, а не модульное тестирование).

Я нашел способ заставить его работать, играя с Dispatcher и DispatcherFrame, но я получаю запас в RegionManager, который, похоже, не работает.

Мои вопросы: есть ли лучший способ провести функциональное / интеграционное тестирование, не обязательно отображая пользовательский интерфейс?

1 Ответ

0 голосов
/ 02 мая 2011

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

Для этого у вас есть кодированные тесты пользовательского интерфейса в Visual Studio, вы столкнетесь с некоторыми проблемами с WPF, главным образом элементами управления, которые вы не можете легко получить в отображении кодированного пользовательского интерфейса. Но кроме этого он хорошо работает, легко встраивает тесты и хорошо интегрируется с агентами сборки TFS и MSBuild.

...