c# - 如何测试 winforms 应用程序

标签 c# winforms unit-testing

我们的 .NET 应用程序基于 Winforms。该应用程序控制不同的仪器,并且大部分行为都被很好地 stub 以启用单元测试。我们多次遇到的一件事是由(错误使用)GUI 引起的问题。错误地处理控件事件或不小心选择了列表框中不存在的项目。这是我希望得到一些帮助的示例:

我们有一个用户用来选择项目的网格控件。当用户选择某个项目时,这应该更新我们模型中的“activeItem”。现在我们发现这里有一个错误,因为当用户使用快捷方式选择网格控件中的最后一项时,它没有更新控件。当然这是由我们在编程中犯的错误引起的,但是我怎么能测试这个 GUI 行为。这样我们就可以确定,如果有人更改了网格控件,它仍会按预期工作。这可以通过正常的单元测试来完成,还是我完全错了?

谢谢,

埃里克

最佳答案

在我们的软件中,我们有一些单元测试来实例化表单并对它们执行操作,然后检查模型的状态是否符合预期。所以在这方面——是的,你可以通过单元测试来做到这一点。然而,我们还发现通过改变 UI 很容易破坏这些测试,并且可能涉及相当多的维护工作。那里有自动化测试框架,可以让您的生活更轻松。我简要地看了看WhiteNUnitForms但还没有对他们做太多。欢迎分享您的经验。

关于c# - 如何测试 winforms 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5441429/

相关文章:

c# - 在编辑器中分配脚本而不是游戏对象?

c# - 如何在 Windows 窗体中显示组合框所选项目的全文?

.net - 单元测试是否应该在 .Net 解决方案中的自己的项目中

javascript - 如何对在其依赖项上注册回调的 Angular 服务进行单元测试?

python - AttributeError : 'module' object has no attribute 'lock'

c# - 从 SQL 数据库处理 null int/char 的最佳实践是什么?

c# - 导出到 Excel 错误

c# - 主菜单导航/键盘输入速度太快

c# - 取消已初始化并在另一个事件处理程序方法中运行的任务

c# - 使用 EnableVisualStyles 的 MonthCalendar 控件选择范围?