【问题标题】:Is there a way to inject a mock while using White for acceptance testing?有没有办法在使用 White 进行验收测试时注入模拟?
【发布时间】:2010-11-15 02:28:59
【问题描述】:

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

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

【问题讨论】:

    标签: mocking acceptance-testing white-framework


    【解决方案1】:

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

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

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

    我会采用以下方法之一:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-16
      • 2015-06-18
      • 1970-01-01
      • 2015-03-25
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      相关资源
      最近更新 更多