У меня есть несколько настраиваемых элементов управления (некоторые кадры для управления контентом и макетами, например, панель обертки) и хотели бы написать для них единичные тесты. Трудно найти хорошие примеры, кроме инструментария управления Silverlight, который имеет некоторые вспомогательные классы для модульных тестов, и это довольно сложно. Для классов MVVM легко писать тесты, потому что они не используют систему зависимостей SL и инфраструктуру.
Вопросы:Элемент управления пользовательскими элементами тестирования в Silverlight
- как модульное тестирование DepedenyProperty, что мне нужно сделать, чтобы проверить
- как проверить вложенное свойство
- я могу проверить привязки с темой или UserControl, как простой содержимое TextBlock связывания, или команда/событие привязки в MVVM с UserControl
- что еще я могу проверить в моих пользовательских элементах управления, рядом с моей бизнес-логикой
- любого хорошего учебника для достижения тестов, как те, в контроле инструментарии
С чего начать? Является ли SL контрольный набор инструментов только для обучения?
Для тестирования фреймворка я использую один из инструментария управления, а для интеграции с континентом на сервере сборки TFS я планировал использовать Statlight (от codeplex). Любые советы по этому поводу?
Edit:
После некоторого исследования, я был в состоянии написать некоторые основные тесты для моего пользовательского элемента управления. Я использовал вспомогательные классы из Control Toolkit, который содержит множество предопределенных тестов для определенного типа настраиваемого элемента управления (панели, элементы управления контентом и т. Д.) И имеет методы тестирования инфраструктуры, такие как Visual States и Parts. Жаль, что нет руководства или учебника, потому что в нем содержится много кода, и для его определения требуется некоторое время, как использовать его в своем проекте.
Даже мой пользовательский элемент управления наследуется от ContentControl, и есть ContentControlTest, который я наследую, чтобы использовать его для моих тестов, я получил слишком много неудавшихся тестов. Поэтому я использовал FrameworkElementTest, который содержит около 30 тестов, а также некоторые из моих собственных, и нетрудно передать их все, после того как вы выяснили, как подготовить все это (материал инициализации в конструкторе тестового класса и использование вспомогательного класса DepedenyPropertyTest).
Я все еще не знаю, что мне нужно сделать, чтобы пройти все тесты из ContentControlTest, но я только начал и попал в целые тестовые материалы;)
Поскольку нет документов, возможно, вы могли бы начать серию блога о том, что вы нашли? – Paul