gpt4 book ai didi

winforms - 在单元测试方法中显示 Windows 窗体

转载 作者:行者123 更新时间:2023-12-03 05:18:10 25 4
gpt4 key购买 nike

我刚刚在 Visual Studio .NET 中发现了单元测试项目,并正在使用测试方法来设置我开发的全局代码示例。

一些全局方法涉及显示可重用的对话框,例如日期选择器和输入框。问题是,有时表单会显示,有时则不会。

我认为这与模态有关,因为我有一个可以模态或非模态显示的报告预览表单。当我以非模态方式显示时,它不会显示。当我以模态方式显示它时,它确实如此。

尝试我的输入框永远不起作用:

string input = "";
using (InputBox box = new InputBox(Title, Prompt, Default))
{
DialogResult result = box.ShowDialog();
input = box.txtInput.Text.Trim();
}
return input;

执行在“box.ShowDialog()”行停止,此时我可以检查 box 并看到它的尺寸、位置和可见性都已正确配置 - 但我看不到表单。我必须取消测试才能停止一切。

我很想使用单元测试项目作为现有代码的 Playground 和展示,但如果我无法显示某些表单,它似乎非常有限。我意识到这并不是单元测试的真正目的,但我希望我可以通过这种方式构建一个有趣的小沙箱来帮助我的开发人员加快速度。

最佳答案

我最终基于单个表单属性取得了一些一致的成功(以及缺乏):ShowInTaskbar

当表单将该属性设置为 true 时,此类表单将不会从单元测试方法中显示。当该属性为 false 时,将显示所有表单。因此,据我所知,以下是确保表单可以从单元测试中显示的规则:

  • 表单应创建为项目中的标准 Windows 表单项。
  • 表单的 ShowInTaskbar 属性应设置为 FALSE。
  • 表单需要以模态方式显示(即使用 ShowDialog())。

这让我可以显示和测试所有实用程序表单,例如日期选择器和登录屏幕。

关于winforms - 在单元测试方法中显示 Windows 窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34777804/

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