【问题标题】:Testing for microservices测试微服务
【发布时间】:2019-08-25 20:06:22
【问题描述】:

我有一个由几个微服务组成的应用程序。例如:

  • 验证服务
  • 信使服务。

我使用 JWT 进行身份验证。 如果我想首先在“Messanger 服务”中测试 API,我必须从“Authnenticate 服务”中获取 JWT。但是向生产“Authnenticate service”发送请求是个坏主意(我认为是这样)。

我看到了一些解决方案:

  • 在我的单元测试中使用“硬编码”JWT。
  • 在我的 api 中为单元测试关闭身份验证检查。

在这种情况下你如何进行单元测试?

【问题讨论】:

    标签: testing microservices


    【解决方案1】:

    最好的方法是使用请求进行真正的身份验证。

    对于简单的单元测试,您可以在单元测试中简单地对您的 JWT 令牌进行硬编码,然后简单地测试您的函数。这是进行单元测试的最简单和最好的方法。

    【讨论】:

    • 是的,我想到了你的第一个建议。但这意味着我必须为 unittest 运行身份验证服务。这意味着测试将更加复杂。因此,如果我想测试每个微服务,我应该运行所有微服务,对吗?当然,我应该在测试环境而不是生产环境中运行微服务。
    • 并非如此。您只需要在所有单元测试开始时获取 jwt 令牌并将其存储在变量中即可。然后您可以轻松使用 jwt 令牌。但因此单元测试是“本地”的,您实际上不需要任何身份验证。
    猜你喜欢
    • 2017-10-04
    • 2020-02-04
    • 2020-10-14
    • 1970-01-01
    • 2019-12-10
    • 2020-05-17
    • 1970-01-01
    • 2019-11-02
    • 2016-01-25
    相关资源
    最近更新 更多