Я сейчас новичок в проекте, который был начат 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
, который, похоже, не работает.
Мои вопросы: есть ли лучший способ провести функциональное / интеграционное тестирование, не обязательно отображая пользовательский интерфейс?