如何在 Node.js 中为集成测试和微服务构建架构
How to make arhitecture for integration tests and microservices in Node.js
我已经创建了微服务应用。
每个微服务都经过单元测试。
现在,在我开始构建前端和更复杂的集成之前,我想使用 docker 制作集成服务器。
我知道如何创建 docker-compose fie 来旋转我所有的服务进行测试,但我不知道你们如何 运行 集成测试?
您是创建另一个测试服务,然后在内部调用 jest /integration
还是使用 docker 命令处理它?
现在,我只为单元测试创建了一项服务,以查看是否一切设置正确 docker 明智,并且一切正常。
我想自动化一切,这样当我使用 bitbucket 时,我可以将我的存储库与 bitbucket 管道或更好的 docker-hub 连接到 运行 我的测试,包括单元和集成的。
运行 容器内的测试提供了一些额外的好处,例如不必在本地环境中为测试安装依赖项并隔离环境特定问题的可能性。
您可以研究的 Docker 的另一个功能是部署映像的多阶段构建和包含测试依赖项的单独映像,运行 用于单元测试和集成测试。这样,部署的映像就更小,并且不包含潜在的不必要的测试依赖项。
另一件需要注意的事情是,您可能希望使用确定主机、端口或用户帐户的环境变量来参数化测试 运行,以便您可以 运行 使用适用于不同环境的正确凭据。
我已经创建了微服务应用。
每个微服务都经过单元测试。
现在,在我开始构建前端和更复杂的集成之前,我想使用 docker 制作集成服务器。
我知道如何创建 docker-compose fie 来旋转我所有的服务进行测试,但我不知道你们如何 运行 集成测试?
您是创建另一个测试服务,然后在内部调用 jest /integration
还是使用 docker 命令处理它?
现在,我只为单元测试创建了一项服务,以查看是否一切设置正确 docker 明智,并且一切正常。
我想自动化一切,这样当我使用 bitbucket 时,我可以将我的存储库与 bitbucket 管道或更好的 docker-hub 连接到 运行 我的测试,包括单元和集成的。
运行 容器内的测试提供了一些额外的好处,例如不必在本地环境中为测试安装依赖项并隔离环境特定问题的可能性。
您可以研究的 Docker 的另一个功能是部署映像的多阶段构建和包含测试依赖项的单独映像,运行 用于单元测试和集成测试。这样,部署的映像就更小,并且不包含潜在的不必要的测试依赖项。
另一件需要注意的事情是,您可能希望使用确定主机、端口或用户帐户的环境变量来参数化测试 运行,以便您可以 运行 使用适用于不同环境的正确凭据。