2010-11-11 66 views
0

在我们的客户端/服务器应用程序中,服务器端由一组Web服务公开。客户端与我们所称的应用程序上下文进行交互以调用服务器。我希望能够在验收测试期间模拟应用程序上下文,以便将测试隔离到客户端,而不是让测试从客户端到服务器一直流到数据库,并且必须使用我们希望运行每个测试的正确数据。有没有办法在使用White进行验收测试时注入模拟?

这可能吗?或者我应该采取不同的方法?

回答

2

白色运行使用Microsoft UI自动化,它查看任何支持的GUI。它根本不担心下面的代码,并且不能像使用单元测试那样与代码进行交互。

通常情况下,您将通过其.exe启动应用程序,然后使用White将其自动化。为了只用客户端启动它,您需要让流程本身从模拟出的应用程序上下文开始。这意味着编译相应的.exe,或者有两个不同的可执行文件,其中一个可以正确配置你的软件包,其中一个不会。

如果没有数据库,你并没有真正开展验收测试 - 验证代码是否处于良好的生产验收状态。所以我不会担心嘲笑数据库。

我会采取这些方法中的一个:

  • 重新创建为每个测试运行的数据库,如果需要的话

  • 标签通过与日期测试所产生的数据与适当的上下文填充它以便您可以将其与正常数据区分开来

  • 制作您的服务器的模拟版本,它会针对请求提供固定的响应,并指示应用程序使用该版本(可能与只是一个命令行参数)。请注意,这仍然不会验证一切与数据库一起工作。如果你只是想要显示错误处理,或者另一个团队将负责生成服务,这可能是合适的。

希望这些想法能够帮助并提供选项!

相关问题