Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
Testing 微服务测试_Testing_Microservices - Fatal编程技术网

Testing 微服务测试

Testing 微服务测试,testing,microservices,Testing,Microservices,我有一个由几个微服务组成的应用程序。例如: 身份验证服务 Messanger服务 为了进行身份验证,我使用JWT。 如果我想首先在“Messanger服务”中测试API,我必须从“authneticate服务”获取JWT。但将请求发送到生产“authenticate服务”是个坏主意(我认为是这样) 我看到了一些解决方案: 在我的单元测试中使用“硬代码”JWT 在我的api中关闭unittests的身份验证检查 在这种情况下如何进行单元测试?最好的方法是使用请求进行真正的身份验证 对于简单

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

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

我看到了一些解决方案:

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

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

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


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

是的,我考虑了你的第一个建议。但这意味着我必须为unittest运行身份验证服务。这意味着测试将更加复杂。所以,如果我想测试每个微服务,我应该运行所有的微服务,对吗?当然,我应该在测试环境中运行微服务,而不是在生产环境中。您只需要在所有单元测试开始时获取jwt令牌并将其存储在变量中。然后,您可以轻松地使用jwt令牌。但因此单元测试是“本地”的,您实际上不需要任何身份验证。