【问题标题】:How to Test View in Winforms如何在 Winforms 中测试视图
【发布时间】:2013-12-12 10:48:38
【问题描述】:

我有一个场景,我必须从数据库中获取一些数据并将其显示在 Win 表单应用程序的网格视图中。我已经为 Presenter 编写了一个单元测试来模拟我的存储库和视图。该测试检查演示者是否调用了存储库的 GetData() 方法,然后调用了视图的 Bind(data) 方法。

我还对存储库进行了另一个集成测试,以验证数据库中是否有一些数据由存储库返回。

现在是测试我的观点的部分。我想不出任何办法来测试我的表单并检查它是否确实将数据绑定到 Grid 视图。

我的问题是,没有办法在 Winforms 中测试视图,我是否总是不得不依靠手动测试?

【问题讨论】:

  • 不能简单的绑定Grid,然后在测试方法中查看数据吗?我的意思是,如果绑定不起作用,它应该是空的,对吧?
  • @Tobberoth gridview 是表单的内部控件,我要测试它是否包含数据,我必须将其公开为公共控件,然后对我执行测试显得不公平。类似于为什么我们不应该仅仅为了验证类的功能而创建公共方法或属性。
  • 是的,我正在使用 MVP,从您提供的链接来看,似乎不需要测试视图的实现。如果我们必须对其进行测试,那么我们将不得不手动测试它,或者通过某种方法将网格暴露给外界,这对我来说不是正确的方法。

标签: c# winforms unit-testing acceptance-testing


【解决方案1】:

我建议您仅在验收测试中测试视图和数据库。而且你应该明白,这种测试非常脆弱,需要付出很多努力来实施和支持。当然,手动 UI 测试不是一个好主意 - 你应该使用一些 UI 测试自动化工具,例如:

【讨论】:

  • 哇!这就是我要找的。从来不知道这些工具的存在。感谢lazyberezovsky 指出了很棒的工具。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
  • 2022-11-08
  • 2018-03-14
  • 2015-06-30
  • 1970-01-01
相关资源
最近更新 更多