我们的 .NET 应用程序基于 Winforms。该应用程序控制不同的仪器,并且大部分行为都被很好地 stub 以启用单元测试。我们多次遇到的一件事是由(错误使用)GUI 引起的问题。错误地处理控件事件或不小心选择了列表框中不存在的项目。这是我希望得到一些帮助的示例:
我们有一个用户用来选择项目的网格控件。当用户选择某个项目时,这应该更新我们模型中的“activeItem”。现在我们发现这里有一个错误,因为当用户使用快捷方式选择网格控件中的最后一项时,它没有更新控件。当然这是由我们在编程中犯的错误引起的,但是我怎么能测试这个 GUI 行为。这样我们就可以确定,如果有人更改了网格控件,它仍会按预期工作。这可以通过正常的单元测试来完成,还是我完全错了?
谢谢,
埃里克
最佳答案
在我们的软件中,我们有一些单元测试来实例化表单并对它们执行操作,然后检查模型的状态是否符合预期。所以在这方面——是的,你可以通过单元测试来做到这一点。然而,我们还发现通过改变 UI 很容易破坏这些测试,并且可能涉及相当多的维护工作。那里有自动化测试框架,可以让您的生活更轻松。我简要地看了看White和 NUnitForms但还没有对他们做太多。欢迎分享您的经验。
关于c# - 如何测试 winforms 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5441429/