gpt4 book ai didi

WPF自定义控件-如何对自定义控件进行单元测试?

转载 作者:行者123 更新时间:2023-12-04 04:32:08 27 4
gpt4 key购买 nike

基本上,我正在寻找有关如何对WPF自定义控件进行单元测试的资源/指南。

在此特定实例中,我创建的自定义控件恰好扩展了Decorator类。它包装了一个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;
}
}

P.S.我正在使用内置的Visual Studio测试框架( Microsoft.VisualStudio.QualityTools.UnitTestFramework)。

为了避免对在内存中公开纯文本密码的强烈反对,我了解到,通过在DependencyProperty中公开纯文本密码,我违反了Microsoft的安全推理,但是考虑到我能够使用 Snoop从标准PasswordBox中公开纯文本密码,不再觉得那么重要了。

最佳答案

您可以使用UI自动化,请参见以下链接以获取更多信息:

UI Automation Overview

UI Automation of a WPF Custom Control

关于WPF自定义控件-如何对自定义控件进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5516112/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com