一种方法是在Winforms应用程序中使用模型视图Presenter(MVP)模式。如果您已经使用过MVC,则很容易适应。具体而言,将MVC的视图部分尽可能地切分,使其仅成为实际UI组件周围的皮肤,并使其完全被动。现在称为“presenter”的控制器负责与系统的所有交互。阅读一些来自以下链接的精彩文章: Dan Bunea - 点击阅读 Jeremy Miller - 点击阅读 愉快的编码!
典型的模式似乎是MVP模式。测试将针对模拟表单执行。 我也一直在尝试使用可模拟输入抽象并在测试时显示表单。只要弹出窗口不妨碍,填写表单中的值就很容易。 最终,最有价值的路径可能是因式分解可进行单元测试的代码,并仅使用一些UI测试框架进行UI测试。