我正在快速使用Moq框架,我在表单上有一个按钮,可以启动另一个表单。
客户希望表单启动是否触发Click或DoubleClick事件。
我对Moq框架的理解是,当你想模拟某些类型的动作时它很有用:(为简洁起见,我只列出了几种类型的动作)
但我并不是100%肯定Moq如何与Windows控件和事件进行交互。
有人能用一个简单的例子让我朝着正确的方向前进吗?
答案 0 :(得分:1)
我不会在那种情况下使用Moq或单元测试。
您拥有可视控件下的代码,可以启动另一个表单。这本身就不能孤立地测试。如果您愿意,可以使用其他工具自动执行集成测试。
Moq旨在启用unit testing。单元测试单独测试功能(通常是逻辑)。很难应用于用户界面。
通常你要做的是使用其中一个Model-View-Controller变体,将表示层与业务逻辑分开,使用接口和Dependency Injection来破坏依赖关系,然后使用隔离框架,如Moq创建这些接口的伪实现,以便您可以独立测试子系统。
如果这听起来很复杂,那就是。编写大型经过测试的应用程序也很重要。
我建议您阅读Roy Osherove撰写的The Art of Unit Testing with Examples in .NET一书。这涵盖了很多基础知识。