По сути, я ищу ресурсы / руководства по модульному тестированию настраиваемого элемента управления WPF.
В этом конкретном случае созданный мной настраиваемый элемент управления расширяет декоратор
класс. Он обертывает дочерний элемент PasswordBox, чтобы предоставить свойство пароля среды CLR как свойство DependencyProperty.
public class BindablePasswordBox : Decorator
{
public BindablePasswordBox()
{
Child = new PasswordBox();
((PasswordBox)Child).PasswordChanged += this.PasswordChanged;
}
public static readonly DependencyProperty PasswordProperty =
DependencyProperty.Register("Password", typeof(String), typeof(BindablePasswordBox),
new FrameworkPropertyMetadata
{
BindsTwoWayByDefault = true,
DefaultUpdateSourceTrigger = UpdateSourceTrigger.LostFocus
});
public String Password
{
get { return (String)GetValue(PasswordProperty); }
set { SetValue(PasswordProperty, value); }
}
void PasswordChanged(Object sender, RoutedEventArgs e)
{
Password = ((PasswordBox)Child).Password;
}
}
PS I ' m, используя встроенную среду тестирования Visual Studio ( Microsoft.VisualStudio.QualityTools.UnitTestFramework
).
Чтобы избежать негативной реакции на раскрытие паролей в открытом виде в памяти: я понимаю, что иду против безопасности Microsoft рассуждая, раскрывая открытый текстовый пароль в DependencyProperty, но учитывая, что я смог использовать Snoop , чтобы раскрыть открытый текстовый пароль из стандартного PasswordBox, я больше не считаю это важным.