Tôi đang phát triển các ứng dụng WPF sử dụng mẫu MVVM. Tôi có ViewModel với mã như thế này:PropertySanged event testing: đây có phải là cách hay không?
public bool EditModeEnabled
{
get { return _EditModeEnabled; }
set
{
_ModeEditModeEnabled = value;
OnPropertyChanged("EditModeEnabled");
OnPropertyChanged("CommentTextBoxVisibility");
}
}
OnPropertyChanged
là phương thức ảo của lớp cơ sở mà chỉ nâng PropertyChanged
sự kiện. Tôi muốn thử nghiệm PropertyChanged
sự kiện nâng cao và có phương pháp thử nghiệm của tôi:
public void EditModeEnabledTest()
{
var imageViewModel = TestHelper.GetTestImageViewModel();
var firedEvents = new List<string>();
imageViewModel.PropertyChanged += ((sender, e) => firedEvents.Add(e.PropertyName));
imageViewModel.Mode = true;
Assert.AreEqual(firedEvents.Count, 2);
Assert.IsTrue(firedEvents.Contains("EditModeEnabled"));
Assert.IsTrue(firedEvents.Contains("CommentTextBoxVisibility"));
...
}
có phải là một cách tốt để kiểm tra sự kiện ProprtyChanged?
Đó là tuyệt vời! Cảm ơn bạn. – bniwredyc
Các công cụ tốt ... Tôi sắp viết trình bao bọc của riêng mình, nhưng tôi nghĩ tôi sẽ kiểm tra SO trước, và voilà ... ở đây là> 8) Tôi đã chỉnh sửa giải pháp của bạn một chút để sử dụng xUnit. Cảm ơn! –