Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在微服务之间执行端到端测试时,如何隔离测试数据或测试流?_C#_Asp.net Web Api_Integration Testing_Microservices_End To End - Fatal编程技术网

C# 在微服务之间执行端到端测试时,如何隔离测试数据或测试流?

C# 在微服务之间执行端到端测试时,如何隔离测试数据或测试流?,c#,asp.net-web-api,integration-testing,microservices,end-to-end,C#,Asp.net Web Api,Integration Testing,Microservices,End To End,这似乎是一种有点非正统的方式,但我们试图实现的是找到一种在实时环境中执行端到端测试时将流标识为“测试流”的方法 例如,在电子商务平台中,假设涉及3个组件/微服务。(简化了很多) 产品创作 订单管理 履行 我们希望执行端到端测试,并能够将此工作流程识别为测试,以便实现不会真正实现此订单。因此,每个组件可能会选择稍微不同的方式来处理该请求。组件之间的交互是通过Http请求和事件驱动的 希望我明白了。以前有人这样做过,或者有人对此提出过建议 提前感谢。建议您使用赝品/测试夹具编写集成测试,这里有一篇很

这似乎是一种有点非正统的方式,但我们试图实现的是找到一种在实时环境中执行端到端测试时将流标识为“测试流”的方法

例如,在电子商务平台中,假设涉及3个组件/微服务。(简化了很多)

  • 产品创作
  • 订单管理
  • 履行
  • 我们希望执行端到端测试,并能够将此工作流程识别为测试,以便实现不会真正实现此订单。因此,每个组件可能会选择稍微不同的方式来处理该请求。组件之间的交互是通过Http请求和事件驱动的

    希望我明白了。以前有人这样做过,或者有人对此提出过建议


    提前感谢。

    建议您使用赝品/测试夹具编写集成测试,这里有一篇很好的文章解释:


    另外,Martin Fowler的

    建议您使用赝品/测试夹具编写集成测试,下面是一篇很好的文章,它解释了:


    此外,Martin Fowler的

    微服务需要与其他微服务通信以使用外部功能,这意味着这些微服务应该处于运行状态。这是设计测试的一个问题,因为我们需要控制外部服务的输出,而我们根本无法控制。所以,也许可以尝试一下
    契约测试
    ,而不是进行整个流程
    端到端
    测试?契约测试通过单独检查每个应用程序来确保其发送或接收的消息符合“契约”中记录的共享理解,从而确保一对应用程序能够正确地协同工作

    我建议您参考以下条款和条款:


    微服务需要与其他微服务通信以使用外部功能,这意味着这些微服务应处于运行状态。这是设计测试的一个问题,因为我们需要控制外部服务的输出,而我们根本无法控制。所以,也许可以尝试一下
    契约测试
    ,而不是进行整个流程
    端到端
    测试?契约测试通过单独检查每个应用程序来确保其发送或接收的消息符合“契约”中记录的共享理解,从而确保一对应用程序能够正确地协同工作

    我建议您参考以下条款和条款:


    那么您正在现场/生产环境上运行端到端测试?为什么?这可能非常危险。我建议使用测试数据在Dev或Staging env设置上进行测试?为什么?这可能非常危险。我建议使用测试数据在Dev或Staging env设置上执行此操作。