Юнитест Призма.ДиалогСервис - PullRequest
0 голосов
/ 21 февраля 2020

Я использую Prism.Wpf с Nert.Core 3.xxx, и я хотел бы, чтобы tp использовал XUnit в качестве платформы тестирования. Есть ли идея, как проверить диалоги? В моем приложении я использую следующий фрагмент кода.

publi c DelegateCommand CustomerSelectionCommand => _customerSelectionCommand ?? (_customerSelectionCommand = new DelegateCommand (asyn c () => {var parameters = new DialogParameters {{"Title", "Kunden Auswahldialog"}}; UnsubscribeEvents ();
var dialogService = _container.Resolve ();

           dialogService.ShowDialog("CustomerSelectionDialog", parameters, CloseCustomerSelectionCallback);
       }));

Спасибо, Питер

1 Ответ

0 голосов
/ 21 февраля 2020

var dialogService = _container.Resolve()

Это просто плохо. Итак, давайте предположим, что вы установили _dialogService в конструкторе ... затем, в своем тесте, добавьте Mock<IDialogService> или вариант с ручным кодированием, если хотите, и вызовите CustomerSelectionCommand в вашем представлении модель-субъект-под- тестовое задание. После этого проверьте макет, поступил ли ожидаемый ShowDialog вызов.

В качестве альтернативы, вы можете настроить его на вызов прошедшего обратного вызова и проверить только состояние модели представления после команды.

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

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