当前位置: 首页 > 网络应用技术

快速开始启动nest.js(10/10)-Test

时间:2023-03-08 10:03:05 网络应用技术

  注意:测试程序不支持绝对路径的导入。VSCODE自动导入需要用相对路径替换

  跑步:

  <会出现依赖错误>

  我们唯一的一个提供商计划,也就是说,从理论上讲,我们需要修复错误,我们只需要在中间添加所需的程序。在 - 溶解中进行,但这并不意味着完全隔离。隔离意味着测试不应取决于外部依赖关系。脆弱的测试和不带来任何主要价值。我们对与数据库相关的提供商的依赖性,但是我们要做的最后一件事就是实例化一个真实数据库,仅用于单位测试因此,需要其他选择:无需创建复杂模拟或连接到真实数据库。我们真正需要做的是确保有U场景请求的提供者可以用作临时解决方案。所有类别都取决于:

  接受一个实体并返回一个。对于所有这些提供者,一个空的对象是值得的。一旦开始测试特定方法,我们将用模拟替换这些空对象。

  在测试包含业务逻辑或类似类的服务时,我们更喜欢根据方法对相关测试进行分组。方法名称用作我们的描述()块。

  在此处测试以下方法:

  定义测试用例:

  它会发现:

  这是理所当然的,因为我们以前使用了空对象作为实体,显然其中没有方法,因此此错误是有道理的。

  最好的方法是创建一个仅返回一个模拟对象的常规函数,该函数包含存储类型提供的所有相同方法,然后将这些方法存根以根据特定条件操纵其行为:

  然后替换:

  然后,第二步我们需要在测试功能中使用变量,因此我们需要确定是否定义了变量。

  相应的仿真方法:

  最终测试成功:

  接下来,完成故障路径的测试逻辑:

  最后,它也成功了:

  完整代码:

  初始文件:

  跑步:

  该警告意味着一些异步操作并未在我们的测试中结束。您需要关闭您的申请:

  最终代码:

  在测试文件夹下创建一个文件夹并创建

  提醒加入此问题:

  但是显然,目前,之前已经看到的依赖性错误是没有数据库。通常,有三种方法可以解决:

  这里使用第三种方法:

  打开一个文件

  然后将脚本添加到软件包下的简化操作中。

  返回文件并导入初始化:

  将创建一个应用程序实例,我们需要将所有配置添加到文件中:

  使用需要茉莉花安装并添加最后一行:

  添加逻辑后的代码:

  原始:https://juejin.cn/post/7097942551256121351