我正在使用Template10處理UWP應用程序。我想單元測試我的視圖模型,但是我正在努力尋找一種方法來驗證視圖模型是否爲特定屬性提出了其PropertyChanged
事件。我可以測試一個標準的INotifyPropertyChanged
實現,但不是Template10的一個(例如FluentAssertions)。如何對模板10的RaisePropertyChanged進行單元測試?
任何提示讓我朝正確的方向?
相關實現可以在here找到。
我正在使用Template10處理UWP應用程序。我想單元測試我的視圖模型,但是我正在努力尋找一種方法來驗證視圖模型是否爲特定屬性提出了其PropertyChanged
事件。我可以測試一個標準的INotifyPropertyChanged
實現,但不是Template10的一個(例如FluentAssertions)。如何對模板10的RaisePropertyChanged進行單元測試?
任何提示讓我朝正確的方向?
相關實現可以在here找到。
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);
是的,我已經嘗試了類似的東西,但它不工作 - 測試退出與System.InvalidOperationException消息的消息「的方法被稱爲在意想不到的時間。無法創建一個新的視圖,因爲主窗口尚未創建」。我已經通過一個鏈接來更新了問題。 –
還包括作爲一個[mcve]重現問題失敗的測試 – Nkosi
一旦你有一個解決方案,請發佈它https://github.com/Windows-XAML/Template10/issues –
不是模板10視圖模型實現INotifyPropertyChaged? – Nkosi