【问题标题】:how to do Integration testing in microservices architecture如何在微服务架构中进行集成测试
【发布时间】:2017-07-10 07:05:59
【问题描述】:

我一直在寻找在微服务中进行集成测试的模式/最佳实践。下面是我的上下文的简要说明。

  1. 微服务 A 依赖
    一种。用于身份验证的 azureAD
    湾。微服务 B 授权
  2. 微服务 B 与 azure sql Db 对话以获取用户/角色/权限 + 公开端点以检查 1 使用的权限。此服务也受 azure AD 身份验证保护

为这种情况创建集成测试的最佳方法是什么。 ?欢迎任何参考或指导。一些问题:

一个。什么可以嘲笑,什么不可以嘲笑
湾。设置拆解策略
C。其他的

【问题讨论】:

  • 经过几个月的反思,您对测试框架的了解有什么了解吗?

标签: c# azure asp.net-web-api integration-testing microservices


【解决方案1】:

有三种通用方法可供考虑:

  1. 不要集成测试。只需模拟所有内容并进行单元测试。
  2. 使用真实数据对微服务的沙盒(非 PROD)部署进行集成测试
  3. 使用假数据(被其他服务称为假数据)针对 PROD 部署的集成测试

各有利弊。

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

2) 不需要太多的跨团队协调,也不会有意外中断服务或添加垃圾数据的可能性。

1) 是最脆弱的,仅确保您的应用程序可以处理预期的(当时)输入/输出数据。

寻求您的组织 DevOps 和开发成熟度将支持的最佳策略。

回答您的详细问题:

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

【讨论】:

    猜你喜欢
    • 2019-03-22
    • 2020-03-08
    • 2019-11-02
    • 1970-01-01
    • 2018-03-25
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    相关资源
    最近更新 更多