如何在Winforms应用程序中进行BDD

Afraz Ali |

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

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

现在是测试我的观点的一部分。我想不出任何方法来测试我的表单并检查它是否确实将数据绑定到Grid视图,但这是一个单独的问题。

我的问题是,如果我想以BDD样式测试上述场景,那么在Win窗体中,没有办法让我测试当我调用演示者的方法时网格视图是否填充了正确的数据。这是否意味着我无法在Win窗体上执行BDD,因为如果不模拟视图就无法验证完整的行为。如果我们模拟视图,那么整个BDD的概念都会丢失,因为参与场景完成的一个关键角色是模拟的,不是真实的。

这对我来说真的很混乱,不知道外面是否有人在想过类似的问题。

本·史密斯

是的,可以在创建Winform应用程序时使用BDD。

TestStack有一个称为White的框架引用他们的网站:

White是一个基于Win32,WinForms,WPF,Silverlight和SWT(Java)平台的富客户端应用程序自动化框架。它基于.NET,不需要使用任何专有脚本语言。

在使用C#时,我也强烈建议您在行为驱动的开发中使用SpecFlow它允许您以与技术无关的格式为应用程序定义功能和方案,并创建样板代码以帮助您进行BDD流程。

是一篇很好的文章,它通过使用Specflow用于BDD和使用White用于winform自动化的示例进行工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在VB.NET WinForms应用程序中进行聊天气泡

来自分类Dev

如何在IBM Worklight应用程序中进行调试?

来自分类Dev

如何在WCF应用程序中进行依赖项注入

来自分类Dev

如何在Node.js / Express应用程序的Mongoose预钩中进行查询?

来自分类Dev

如何在Windows Phone应用程序开发中进行图像幻灯片显示

来自分类Dev

如何在Android Studio中的Android应用程序中进行条款和条件活动

来自分类Dev

如何在Windows窗体应用程序中进行float:right操作?

来自分类Dev

如何在Eclipse E4应用程序中进行启动?

来自分类Dev

如何在sencha extjs mvc应用程序中进行验证

来自分类Dev

如何在Android Studio中的Android应用程序中进行条款和条件活动

来自分类Dev

如何在DataGrid WPF桌面应用程序中进行行分组

来自分类Dev

如何在服务和应用程序android中进行多任务处理

来自分类Dev

如何在静态库中进行AFNetworking和iOS中的主要应用程序?

来自分类Dev

如何在Silverlight Web应用程序中进行表单身份验证?

来自分类Dev

如何在我的 Android 应用程序中进行内存管理?

来自分类Dev

如何在我现有的 Angularjs 应用程序中进行用户访问控制

来自分类Dev

在iOS Swift中进行本地化。我如何在运行时更改应用程序语言

来自分类Dev

在iOS Swift中进行本地化。我如何在运行时更改应用程序语言

来自分类Dev

React Native:如何在不由用户再次更新的情况下在应用程序中进行更改?

来自分类Dev

如何从Winforms应用程序中选择

来自分类Dev

如何在构建时对应用程序进行分组

来自分类Dev

如何使用ASP.NET在Azure SQL中进行应用程序级数据加密?

来自分类Dev

在Xcode中进行构建时,如何禁用应用程序扩展目标?

来自分类Dev

Android:如何像在Android Studio中进行调试一样获取应用程序的日志?

来自分类Dev

如何使用服务帐户Oauth令牌在应用程序脚本中进行REST调用

来自分类Dev

Android:如何像在Android Studio中进行调试一样获取应用程序的日志?

来自分类Dev

如何使用经过训练的 keras 模型在 android 应用程序中进行分类

来自分类Dev

如何在F#中进行应用?

来自分类Dev

如何在Android应用中进行验证

Related 相关文章

  1. 1

    如何在VB.NET WinForms应用程序中进行聊天气泡

  2. 2

    如何在IBM Worklight应用程序中进行调试?

  3. 3

    如何在WCF应用程序中进行依赖项注入

  4. 4

    如何在Node.js / Express应用程序的Mongoose预钩中进行查询?

  5. 5

    如何在Windows Phone应用程序开发中进行图像幻灯片显示

  6. 6

    如何在Android Studio中的Android应用程序中进行条款和条件活动

  7. 7

    如何在Windows窗体应用程序中进行float:right操作?

  8. 8

    如何在Eclipse E4应用程序中进行启动?

  9. 9

    如何在sencha extjs mvc应用程序中进行验证

  10. 10

    如何在Android Studio中的Android应用程序中进行条款和条件活动

  11. 11

    如何在DataGrid WPF桌面应用程序中进行行分组

  12. 12

    如何在服务和应用程序android中进行多任务处理

  13. 13

    如何在静态库中进行AFNetworking和iOS中的主要应用程序?

  14. 14

    如何在Silverlight Web应用程序中进行表单身份验证?

  15. 15

    如何在我的 Android 应用程序中进行内存管理?

  16. 16

    如何在我现有的 Angularjs 应用程序中进行用户访问控制

  17. 17

    在iOS Swift中进行本地化。我如何在运行时更改应用程序语言

  18. 18

    在iOS Swift中进行本地化。我如何在运行时更改应用程序语言

  19. 19

    React Native:如何在不由用户再次更新的情况下在应用程序中进行更改?

  20. 20

    如何从Winforms应用程序中选择

  21. 21

    如何在构建时对应用程序进行分组

  22. 22

    如何使用ASP.NET在Azure SQL中进行应用程序级数据加密?

  23. 23

    在Xcode中进行构建时,如何禁用应用程序扩展目标?

  24. 24

    Android:如何像在Android Studio中进行调试一样获取应用程序的日志?

  25. 25

    如何使用服务帐户Oauth令牌在应用程序脚本中进行REST调用

  26. 26

    Android:如何像在Android Studio中进行调试一样获取应用程序的日志?

  27. 27

    如何使用经过训练的 keras 模型在 android 应用程序中进行分类

  28. 28

    如何在F#中进行应用?

  29. 29

    如何在Android应用中进行验证

热门标签

归档