单元测试 - Winforms / C#中的被动视图

时间:2011-02-10 04:05:57

标签: unit-testing nunit c#-2.0

我设计了一个Winforms应用程序,其中View没有链接到Model。它只知道控制器。 Controller创建视图并维护所有状态并相应地更新视图。如何为Controller类编写单元测试(视图在Controller类的构造函数中创建)。

1 个答案:

答案 0 :(得分:2)

  • 提取视图的界面 - 比如说IView。
  • 接下来,不是在Controller.ctor中隐式创建具体视图,而是将其显式传入(作为ctor参数,然后存储在_view字段中)。 ctor参数的类型应为IView类型。

现在在测试中,您可以传入假视图(或模拟)并验证在视图上​​调用了正确的方法。 在您的生产代码中,传入真实的视图对象。