使用 Jest 测试 Nest.js 应用

Nest.js 是一个基于 Node.js 的 Web 应用程序框架,它可以帮助我们快速构建高效且易于维护的服务器端应用。而 Jest 是一个流行的 JavaScript 测试框架,它可用于为项目编写各种测试。

在本文中,我们将看到如何使用 Jest 测试 Nest.js 应用。

准备工作

在开始之前,我们需要确保已经安装了 Node.js 和 Nest.js。建议使用最新版本的 Node.js 和 Nest.js。

接下来我们需要安装 Jest:

--- ------- ---------- ----

为了让 Jest 理解 TypeScript 代码,我们还需要安装一些额外的依赖:

--- ------- ---------- ----------- -------

这些包将使 Jest 具备识别 TypeScript 代码和进行类型检查的能力。

接下来,我们需要配置 Jest。

在项目根目录下创建一个 jest.config.js 文件,并将以下内容添加到该文件中:

-------------- - -
  ---------------- -------
  --------------------- ------ ------
  ---------- -
    ------------ ----------
  --
  ------ ------------------
  ---------- ----------------
  -------------------- --------------------
  ------------------ -----------
  ------------ ------
--

这个配置告诉 Jest 什么文件应该被测试、如何转换 TypeScript 代码以及测试环境应该是 Node.js。

编写测试

接下来,我们将编写一些测试用例来测试我们的 Nest.js 应用。

首先,我们将创建一个简单的控制器,它将返回一个对象。

src/app.controller.ts 中添加以下代码:

------ - ----------- --- - ---- -----------------

-------------
------ ----- ------------- -
  -------------
  ----------- - -------- ------ - -
    ------ - -------- ------ ------- --
  -
-

然后,我们将添加一个测试用例来测试这个控制器。

src/app.controller.spec.ts 中添加以下代码:

------ - ----- ------------- - ---- ------------------
------ - ------------- - ---- -------------------

------------------------- -- -- -
  --- -------------- --------------

  ---------------- -- -- -
    ----- ---- ------------- - ----- --------------------------
      ------------ ----------------
    -------------

    ------------- - --------------------------------------
  ---

  ---------------- -- -- -
    ---------- ------ ------ --------- -- -- -
      ------------------------------------------ -------- ------ ------- ---
    ---
  ---
---

在这个测试用例中,我们首先使用 Test.createTestingModule 创建一个测试模块,然后将控制器添加到该模块中。

接着,我们使用 app.get 方法获取控制器的实例,然后编写测试用例来测试 getHello 方法是否返回了正确的响应。

运行测试

我们已经编写了用于测试 Nest.js 应用程序的测试用例。接下来,我们将运行这个测试套件。

我们可以使用以下命令来运行 Jest 测试套件:

--- --- ----

该命令会启动 Jest 并运行所有测试用例。

在测试完成后,Jest 会生成一个报告,显示测试覆盖率和测试用例的运行时间等信息。

结论

在本文中,我们看到了如何使用 Jest 测试 Nest.js 应用程序。使用测试套件可以确保应用程序的质量,减少代码错误,并提高开发速度。希望本文对你有所帮助!

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66ffa22d1b0bf82c71cd58bb