2016-12-02 2 views
1

Я работаю над приложением UWP, используя Template10. Я хочу, чтобы модуль тестировал мои модели взглядов, однако я изо всех сил пытаюсь найти способ проверить, что модель представления подняла событие PropertyChanged для определенного свойства. Я могу проверить стандарт INotifyPropertyChanged, но не шаблон Template10 (например, FluentAssertions).Как модульный тест Шаблон 10 RaisePropertyChanged?

Любые намеки, чтобы поместить меня в правильном направлении?

Соответствующая реализация может быть найдена here.

+0

Не применяется ли модель для модели Template 10 INotifyPropertyChaged? – Nkosi

ответ

0

ViewModelBase наследуется из производных классов, реализующих INofitypropertChanged

так что вы можете добавить обработчик события к событию PropertyChanged.

//Arrange 
var expected = "MyProperty"; 
var actual = string.Empty; 

var viewModel = {...some calss that inherits from ViewModelBase}; 

viewModel.PropertChanged += (s,e) => { 
    actual = e.PropertyName; 
} 

//Act 
viewModel.MyProperty = "Test"; 

//Assert 
actual.Should().Be(expected); 
+0

Да, я уже пробовал что-то подобное, но он не работает - тестовые выходы с System.InvalidOperationException с сообщением «Метод был вызван в неожиданное время. Не удалось создать новое представление, потому что главное окно еще не было создано». Я обновил вопрос со ссылкой на реализацию. –

+0

Также включите тест, который не работает как [mcve], который воспроизводит проблему. – Nkosi

+0

Как только у вас есть решение, отправьте его https://github.com/Windows-XAML/Template10/issues –

Смежные вопросы