Application.CUrrent.Mainwindow имеет значение null, когда я запускаю модульный тест - PullRequest
0 голосов
/ 09 апреля 2020

Application.CUrrent.Mainwindow пусто, когда я запускаю модульное тестирование в WPF. Когда я запускаю модульные тесты, у меня есть

Application.Current.MainWindow.PreviewMouseLeftButtonUp += new MouseButtonEventHandler(OnMouseLeftButtonUp);

Здесь, который в свою очередь возвращает нулевое исключение в модульном тесте

1 Ответ

0 голосов
/ 09 апреля 2020

Это ожидается; Application.Current устанавливается средой выполнения и не существует в модульном тесте.

Есть несколько хороших вариантов:

  1. Если это код, связанный с пользовательским интерфейсом; просто не тестируйте его Пользовательский интерфейс обычно тестируется с помощью закодированного пользовательского теста или другого сквозного теста.
  2. Создайте службу, которая упаковывает Application.Current, чтобы вы могли смоделировать ее в своем модульном тесте.
  3. Делать проверка нуля перед регистрацией обработчика событий.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...