用于 API 集成的 Nest.js 服务结构

问题描述 投票:0回答:1

我正在研究与 Nest.js 项目中的 DocuSign API 的集成。

我的服务必须满足3个要求:

  • 实施 Code Grant oAuth 2.0 身份验证流程并将凭据保存到 Mongo DB 记录。
  • 根据保存的凭据执行 API 操作,例如 createEnvelope。
  • 实现Web Hooks监听并更新相关数据库记录。

服务架构

  • 如何最好地规划我正在构建的服务,包括从 Nest.js 架构的角度执行单元测试? 例如 - 是否值得编写一个服务来负责实现 oAuth 流程,而另一个服务来执行 API 操作?

单元测试

  • 编写单元测试的准则是什么?

  • 负责 oAuth 的逻辑覆盖是否正确以单元测试的形式完成?

unit-testing nestjs
1个回答
0
投票

我的建议是 - 构建它就好像没有任何 NestJS 在起作用一样。将其视为独立的 SDK。尽可能不可知论。

稍后将其实现到 NestJS(或任何其他)架构中将会变得非常容易。


将代码分解为逻辑部分始终是一个实施决策。有时将代码分解为多个类/文件是没有意义的,有时 - 恰恰相反。这是你的决定:)


一般来说,测试与 API 的集成并不完全是单元测试的问题,但这完全取决于命名,因为我已经看到了数百个自己的定义,其中单元测试结束,功能测试开始。

但是——再一次。这一切都取决于 API。如果您最终为 100 种不同的方法编写了 100 个单元测试,所有这些方法都有

axios.get
axios.post
,那么这是毫无意义的。它可以通过动态模拟 axios 实例的单个功能测试来完成。


希望有帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.