0

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

这可能吗?还是我应该采取不同的方法?

4

1 回答 1

2

White 使用 Microsoft UI 自动化运行,它查看任何受支持的 GUI。它根本不担心下面的代码,并且您无法像与单元测试一样与该代码进行交互。

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

如果没有数据库,您并没有真正运行验收测试——验证代码是否处于良好状态,可以接受生产。所以我不会担心模拟数据库。

我会采取以下方法之一:

  • 为每次测试运行重新创建数据库,并在需要时使用适当的上下文填充它

  • 用日期时间标记测试生成的数据,以便您可以将其与正常数据区分开来

  • 制作一个模拟版本的服务器,它以对请求的固定响应进行响应,并指示应用程序改为使用它(可能只使用命令行 arg)。请注意,这仍然无法验证数据库是否可以正常工作。如果您只想显示错误处理,或者如果另一个团队将负责生产服务,这可能是合适的。

无论如何,希望这些想法有所帮助并提供选择!

于 2010-11-14T18:28:59.807 回答