DelegateCommand <object>тест с параметром EventArg mstest - PullRequest
0 голосов
/ 28 июня 2011

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

Действие передает объект типа EventArgs обратно в модель представления.

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

Как уже говорилось, мы используем шаблон типа MVVM, поэтому я тестирую конец «Выполнение» триггера события в моем представлении-модель и то, что я хочу сделать, это создать 'mocked' объект EventArgs для передачи в метод execute моей тестируемой команды.Однако для этого требуется RoutedEvent, так как это свойство ID, как указано выше, и у меня нет доступа к его конструктору!

Cannot Access Internal Constructor for 'RoutedEvent' here.

У кого-нибудь есть идеи?Использование кода в тесте важнее текущей реализации, поэтому, если это считается «непроверяемым», я могу внести изменения.

1 Ответ

0 голосов
/ 30 июня 2011

Я ответил на свой вопрос.

Приведение объекта, возвращенного из представления в более ранней точке , означает, что объект, который я передаю тестируемым методам, болеелегко создается.

Это то, что я сейчас имею для тестируемого метода.

public void DoItemsChanged(IList param)

До того, как у меня было

public void DoItemsChanged(object param)

Где параметр - это SelectedItemCollection (ранееa RoutedEventArgs, но теперь я использую IvokeCommandAction для триггера события в представлении, переназначая SelectedItems).Параметр теперь легче передается в метод теста, а код - гораздо более наглядно.Так что все хорошо для всех.

...