如何在微服务架构中进行集成测试

时间:2017-02-20 21:00:15

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

我一直在寻找在微服务中进行集成测试的模式/最佳实践。以下是我的背景的快速描述。

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

    一个。什么嘲笑,什么不嘲笑
    湾设置拆卸策略
    C。其他人

1 个答案:

答案 0 :(得分:1)

有三种常规方法需要考虑:

  1. 不要进行集成测试。只是模拟一切和单元测试。
  2. 使用真实数据对微服务的沙箱(非PROD)部署进行集成测试
  3. 使用虚假数据(其他服务称为虚假数据)对PROD部署进行集成测试
  4. 每个都有利弊。

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

    2)不需要尽可能多的跨团队协调,也没有可能发生破坏性服务或在事故中添加垃圾数据。

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

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

    回答你的详细问题:

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