Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.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#_Azure_Asp.net Web Api_Integration Testing_Microservices - Fatal编程技术网

C# 如何在微服务体系结构中进行集成测试

C# 如何在微服务体系结构中进行集成测试,c#,azure,asp.net-web-api,integration-testing,microservices,C#,Azure,Asp.net Web Api,Integration Testing,Microservices,我在寻找在微服务中进行集成测试的模式/最佳实践。下面是我的上下文的快速描述 微服务A取决于 A.azureAD用于身份验证 B用于授权的微服务B microservice B与azure sql Db对话以获取用户/角色/权限的CRUD+公开端点以检查1使用的权限。此服务还受azure AD身份验证的保护 为这种情况创建集成测试的最佳方法是什么?欢迎任何参考或指导。一些问题: a。嘲笑什么,不嘲笑什么 B设置拆卸策略 C其他需要考虑三种一般方法: 不要进行集成测试。只是模仿一切和单元测试 使用真

我在寻找在微服务中进行集成测试的模式/最佳实践。下面是我的上下文的快速描述

  • 微服务A取决于
    A.azureAD用于身份验证
    B用于授权的微服务B
  • microservice B与azure sql Db对话以获取用户/角色/权限的CRUD+公开端点以检查1使用的权限。此服务还受azure AD身份验证的保护
  • 为这种情况创建集成测试的最佳方法是什么?欢迎任何参考或指导。一些问题:

    a。嘲笑什么,不嘲笑什么
    B设置拆卸策略

    C其他

    需要考虑三种一般方法:

  • 不要进行集成测试。只是模仿一切和单元测试
  • 使用真实数据对微服务的沙箱(非PROD)部署进行集成测试
  • 使用假数据(另一个服务称为假数据)针对PROD部署进行集成测试
  • 每种方法都有优点/缺点

    3) 需要一些跨团队的协调,以确保每个微服务都有一些已知的输入,这些输入将被视为“仅测试”,但最准确地模拟真实的用例

    2) 不需要太多的跨团队协调,也不存在中断服务或添加事故垃圾数据的可能性

    1) 是最脆弱的,只能确保应用程序能够处理预期(当时)的输入/输出数据

    选择组织和开发成熟度将支持的最佳战略

    要回答您的详细问题:

    • a。您只需要模拟与#1的集成#2和#3是真实的
    • b。#2和#3的设置和拆卸只需注入 端点
    • c。测试您的所有用例。确保你击中了每一个 方法调用您使用的

    经过几个月的反思,您对自己在测试框架方面所学到的知识有何评论?