C # - WPF: стратегии тестирования - PullRequest
9 голосов
/ 04 октября 2010

Я новичок в C # 4.0 и WPF и собираюсь запустить новое приложение.

Происходя из мира C ++ / MFC, я заинтересован в стратегиях тестирования, используемых с современными технологиями.

Например:

  • Модульное тестирование
  • Функциональное тестирование
  • Тестирование пользовательского интерфейса
  • другой

Любой совет будет оценен.

Спасибо.

Ответы [ 5 ]

4 голосов
/ 05 октября 2010

Как сказал Ларри, тестовый каркас White UI можно использовать для тестирования WPF UI.Этот пост объясняет это более подробно -

Тестирование приложений WPF с платформой White UI Test: http://blogs.msdn.com/b/john_daddamio/archive/2008/04/04/testing-wpf-applications-with-the-white-ui-test-framework.aspx

Также ознакомьтесь с этой статьей, чтобы узнать, как автоматизироватьтестирование пользовательского интерфейса:

Автоматическое тестирование пользовательского интерфейса в приложениях WPF: http://msdn.microsoft.com/en-us/magazine/dd483216.aspx

Команда Xaml придумала пакет соответствия XAML для проверки XAML (у меня нетхотя сам попробовал) -

http://blogs.msdn.com/b/llobo/archive/2010/07/07/xaml-compliance-suite-v1.aspx

Для тестирования приложений WPF также доступны различные сторонние инструменты, например, от AutomatedQA -

TestComplete от AutomatedQA - это комплексный инструмент автоматического тестирования, который помогает командам QA автоматизировать свои функциональные, модульные, регрессионные и другие типы тестирования для широкого спектра типов приложений, включая приложения Windows Presentation Foundation (WPF).*http://www.automatedqa.com/products/testcomplete/testing-wpf-apps/

Я бы также посоветовал вам ознакомиться с Руководством по качеству приложений WPF от MS

.Тестирование приложений и элементов управления Windows Presentation Foundation (WPF).

http://windowsclient.net/wpf/white-papers/wpf-app-quality-guide.aspx#intro

3 голосов
/ 08 октября 2010

В наши дни большинство людей, которым небезразлично модульное тестирование WPF, склонны использовать шаблон проектирования MODEL-VIEW-VIEWMODEL ( MVVM ). Это тег на стеке потока об этом.

Это позволяет вам тестировать модулем большую часть кода (включая большую часть логики пользовательского интерфейса), не мешая WPF.

Для системного тестирования см. Другие ответы на эти вопросы.

3 голосов
/ 04 октября 2010

Взгляните на Белый . С их сайта:

Белый Автоматизация приложений Windows https://white -project.googlecode.com / svn /

White - это платформа для автоматизации клиентских приложений на основе платформ Win32, WinForms, WPF, Silverlight и SWT (Java). Он основан на .NET и не требует использования каких-либо проприетарных языков сценариев. Программы тестирования / автоматизации, использующие White, могут быть написаны на любом языке .NET, IDE и инструментах, которые вы уже используете. White предоставляет согласованный объектно-ориентированный API, скрывающий сложность библиотеки UIAutomation от Microsoft (на которой основан White) и сообщений Windows. Выпускаются только стабильные версии White, поэтому все выпуски готовы к работе.

1 голос
/ 01 ноября 2010

Как уже упоминалось, шаблон MVVM (или даже шаблон Model-View-ViewModel-Presenter) является хорошим началом. Они позволяют вам по отдельности и по отдельности протестировать различные проблемы приложения.

Хорошим инструментом для модульного тестирования является Moq . Я часто этим пользуюсь.

Я также часто провожу приемочные тесты от ViewModel до Model and Presenter. Так что я могу заверить, что все слои работают вместе. Это компромисс между тестированием пользовательского интерфейса и модульным тестированием. Преимущество в том, что тесты выполняются быстрее и, следовательно, выполняются чаще.

Если вы также хотите автоматически проверить правильность привязки данных между View и ViewModel, вы должны проверить Guia . Это позволяет вам непосредственно создавать и тестировать один UserControl.

0 голосов
/ 20 апреля 2012

Мне очень важно, чтобы вид выглядел правильно. Это означает модульное тестирование. Для меня лучший метод - это ТОЛЬКО проверить вид в одном модульном тесте, что означает

модель + вид = результат.

Утилита проверки с открытым исходным кодом ApprovalTests (www.approvaltests.com или nuget) легко протестирует представления Wpf.

Вы можете увидеть это в действии здесь: http://www.youtube.com/watch?v=Xc_ty03lZ9U

Я бы порекомендовал посмотреть видео winforms 1-й, так как в нем больше рассказывается о том, как тестировать представления в целом:

Сам код будет выглядеть как

var model = CreateModel();
var yourWpfView = new YourWpfView(model);
WpfApprovals.Verify(yourWpfView);

и он сделает снимок экрана и сравнит его с золотым мастером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...