NestJS + Jest 测试框架组合使用指南
NestJS + Jest 是一种常用的测试框架组合,可以用来测试 NestJS 应用程序的各个部分。下面是一些使用 NestJS + Jest 的方法:
- 安装 Jest
首先,需要安装 Jest,可以使用以下命令:
npm install --save-dev jest @types/jest
- 配置 Jest
在 NestJS 项目的根目录中创建一个 'jest.config.js' 文件,用于配置 Jest。可以在此文件中添加 Jest 配置选项,如下所示:
module.exports = {
roots: ['<rootDir>/src'],
transform: {
'^.+\.tsx?$': 'ts-jest',
},
testRegex: '(/__tests__/.*|(\.|/)(test|spec))\.tsx?$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
};
这里的配置选项包括:
- 'roots': Jest 搜索测试文件的目录。在这个例子中,我们指定了 'src' 目录。
- 'transform': Jest 使用这个属性将 TypeScript 代码转换为可执行的 JavaScript 代码。
- 'testRegex': Jest 使用这个属性来匹配测试文件名。
- 'moduleFileExtensions': Jest 使用这个属性来确定支持的文件扩展名。
- 编写测试
在 'src' 目录中创建一个测试文件,例如 'app.controller.spec.ts'。在测试文件中,可以使用 Jest 提供的各种测试函数来测试 NestJS 应用程序的控制器、服务等部分。
以下是一个简单的例子:
import { Test, TestingModule } from '@nestjs/testing';
import { AppController } from './app.controller';
describe('AppController', () => {
let appController: AppController;
beforeEach(async () => {
const app: TestingModule = await Test.createTestingModule({
controllers: [AppController],
}).compile();
appController = app.get<AppController>(AppController);
});
describe('root', () => {
it('should return 'Hello World!'', () => {
expect(appController.getHello()).toBe('Hello World!');
});
});
});
在上面的例子中,我们使用了 'describe' 和 'it' 函数来组织测试用例,并使用 'expect' 函数来断言测试结果。
- 运行测试
最后,可以使用以下命令来运行测试:
npm run test
这将运行 Jest 并执行测试。测试结果将显示在终端中。
以上就是 NestJS + Jest 的基本使用方法。通过使用 Jest,可以为 NestJS 应用程序编写高质量的测试用例,并确保代码的质量和可靠性。
原文地址: https://www.cveoy.top/t/topic/nuFv 著作权归作者所有。请勿转载和采集!