首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用jest模拟typescript中的外部依赖

在 TypeScript 中使用 Jest 模拟外部依赖的方法如下:

  1. 首先,安装 Jest 和相关的 TypeScript 类型定义库:
代码语言:txt
复制
npm install --save-dev jest ts-jest @types/jest
  1. 在项目根目录下创建一个 jest.config.js 文件,并添加以下内容:
代码语言:txt
复制
module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
};
  1. package.json 文件中添加以下脚本命令:
代码语言:txt
复制
"scripts": {
  "test": "jest"
}
  1. 创建一个 TypeScript 文件,例如 example.ts,其中包含需要测试的代码和外部依赖:
代码语言:txt
复制
import { fetchData } from './api';

export async function getData() {
  const response = await fetchData();
  return response.data;
}
  1. 创建一个与 example.ts 文件相对应的测试文件,例如 example.test.ts,并编写测试代码:
代码语言:txt
复制
import { getData } from './example';
import { fetchData } from './api';

jest.mock('./api', () => ({
  fetchData: jest.fn(),
}));

describe('getData', () => {
  it('should return the data from fetchData', async () => {
    const mockData = { data: 'mocked data' };
    (fetchData as jest.MockedFunction<typeof fetchData>).mockResolvedValueOnce(mockData);

    const result = await getData();

    expect(result).toEqual(mockData.data);
    expect(fetchData).toHaveBeenCalledTimes(1);
  });
});

在上述测试代码中,我们使用 jest.mock 方法来模拟 fetchData 函数,并使用 mockResolvedValueOnce 方法来指定模拟函数的返回值。然后,我们可以编写断言来验证 getData 函数是否正确地使用了模拟的外部依赖。

  1. 运行测试命令:
代码语言:txt
复制
npm test

Jest 将会执行测试文件中的测试代码,并输出测试结果。

这是一个使用 Jest 模拟 TypeScript 中的外部依赖的基本示例。根据具体的项目和需求,你可能需要进一步了解 Jest 的其他功能和配置选项,以及如何模拟不同类型的外部依赖。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

1分17秒

Python进阶如何修改闭包内使用的外部变量?

5分40秒

如何使用ArcScript中的格式化器

36秒

PS使用教程:如何在Mac版Photoshop中画出对称的图案?

4分31秒

016_如何在vim里直接运行python程序

589
2分54秒

Elastic 5 分钟教程:Kibana入门

1分31秒

基于GAZEBO 3D动态模拟器下的无人机强化学习

7分1秒

Split端口详解

1分41秒

苹果手机转换JPG格式及图片压缩方法

21分1秒

13-在Vite中使用CSS

6分28秒

15-Vite中使用WebWorker

7分53秒

EDI Email Send 与 Email Receive端口

2分59秒

Elastic 5分钟教程:使用机器学习,自动化异常检测

领券