Я использовал Mock для модульного тестирования ViewModels. Моя проблема связана с представлениями. Я должен проверить событие KeyUp текстового поля.Тестирование единиц измерения в WPF
В моем классе ViewTest у меня есть следующий код.
View1 ViewTarget = null;
[TestInitialize()]
public void MyTestInitialize()
{
ViewTarget = new Veiw1();
}
[TestMethod]
public void searchTextBox_KeyUpTest()
{
TextBox element = new TextBox();
element.RaiseEvent(
new KeyEventArgs(
Keyboard.PrimaryDevice,
Keyboard.PrimaryDevice.ActiveSource,
0,
Key.Enter) { RoutedEvent = Keyboard.KeyUpEvent }
);
}
Что мне передать в качестве источника входного сигнала? Keyboard.PrimaryDevice.ActiveSource
возврат null. Я попытался издеваться над PresentationSource для источника ввода, но выбрал исключение ProxyGenerationException.
В представлениях не должно быть никакой бизнес-логики ... вот в чем смысл MVVM. Поэтому не должно быть никаких оснований проверять ваши взгляды. – Sheridan
Вы правы. Но этот код был написан около 2 лет назад, и меня просят проверить его. Я в тупике. – nan