Я ищу тестовый фреймворк, который поможет мне проверить представления / элементы управления XAML. Не только для проверки правильности привязки данных, но особенно для проверки внешнего вида и поведения более сложных элементов управления. Очевидно, это обычно приводит к ручным тестам.
То, что я имею в виду, будет выглядеть примерно так:
- Напишите нормальный модульный тест, используя любую среду модульного тестирования, которую вы используете.
- Макет модели представления с тестовыми данными.
- Создание / указание элемента управления и предоставление модели представления и необходимых ресурсов.
- (Необязательно) Определите набор ручных утверждений.
При выполнении этого теста вам должны быть представлены все приведенные утверждения (возможно, в виде флажков с кнопкой подтверждения) и соответствующий элемент управления. Может быть, в контейнере или в дополнительном окне (особенно если вы тестируете Window
элемент управления).
Я думаю, что это было бы очень удобно при разработке элемента управления (вы предоставляете некоторые тестовые данные и можете проверить элемент управления без всего приложения) или для частей системного теста для проверки визуального стиля и поведения. С помощью специализированного бегуна также должно быть возможно агрегировать результаты утверждений и создавать более полный отчет об испытаниях.
Я реализовал очень примитивного раннера, но я чувствую, что это может быть намного лучше. Пример теста (который выглядит так ):
public void BasicStyle() {
var runner = new GuiTestRunner(TestContext);
runner.AddResources(new Uri("pack://application:,,,/Assembly;component/Resources/RadialContextMenuResources.xaml"));
var contextMenu = ...;
runner.Container.ContextMenu = contextMenu;
runner.Assert("Shows a radial context menu with 7 entries.");
runner.Assert("Each entry has a hover animation.");
runner.Assert("Each entry can be clicked.");
runner.Run();
}