📜  使用 jest 测试 express typescript (1)

📅  最后修改于: 2023-12-03 15:36:30.317000             🧑  作者: Mango

使用 jest 测试 express typescript

Jest 是一个流行的 JavaScript 测试框架,它专注于简单,快速和可扩展。在本文中,我们将介绍如何使用 Jest 测试 Express TypeScript 应用程序。

安装 Jest

首先,我们需要安装 Jest。可以通过运行以下命令进行安装:

npm install --save-dev jest @types/jest ts-jest

这会安装 Jest、Jest 的 TypeScript 类型和一个运行 TypeScript 测试的插件 ts-jest。

配置 Jest

要配置 Jest,请将以下内容添加到 package.json 文件中:

{
  "scripts": {
    "test": "jest"
  },
  "jest": {
    "preset": "ts-jest",
    "testEnvironment": "node"
  }
}

这将在运行 npm test 时自动运行 Jest。preset 设置为 ts-jest 会告诉 Jest 为 TypeScript 运行测试,testEnvironment 会设置测试运行的环境,这里设置为 Node.js。

编写测试用例

假设我们的 Express 应用程序是一个简单的 Hello World 示例,其代码如下:

import express from 'express';

const app = express();

app.get('/', (req, res) => {
  res.send('Hello World');
});

const server = app.listen(3000, () => {
  console.log('Server is running on localhost:3000');
});

export default server;

我们要编写一个测试用例来测试这个应用程序是否正确地返回 Hello World。我们将创建一个名为 app.test.ts 的文件,其代码如下:

import request from 'supertest';
import server from './app';

describe('Test the root path', () => {
  test('It should return Hello World', async () => {
    const response = await request(server).get('/');
    expect(response.text).toEqual('Hello World');
  });
});

我们使用 supertest 库来发送一个 GET 请求并验证返回的响应是否符合我们的期望。使用 Jest 的 describetest 函数来分组和运行测试用例,expect 函数来断言测试结果。

运行测试

我们已经编写了一个测试用例,现在可以通过运行 npm test 命令来运行测试。如果一切正常,我们应该会看到输出 PASS

结论

在本文中,我们介绍了如何使用 Jest 测试 Express TypeScript 应用程序。我们学习了如何安装 Jest、如何配置 Jest、如何编写测试用例并运行测试。希望这篇文章能帮助您在编写应用程序时编写出高质量的测试用例。