在 TypeScript 中使用 Jest 模拟外部依赖的方法如下:
npm install --save-dev jest ts-jest @types/jest
jest.config.js
文件,并添加以下内容:module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
};
package.json
文件中添加以下脚本命令:"scripts": {
"test": "jest"
}
example.ts
,其中包含需要测试的代码和外部依赖:import { fetchData } from './api';
export async function getData() {
const response = await fetchData();
return response.data;
}
example.ts
文件相对应的测试文件,例如 example.test.ts
,并编写测试代码: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
函数是否正确地使用了模拟的外部依赖。
npm test
Jest 将会执行测试文件中的测试代码,并输出测试结果。
这是一个使用 Jest 模拟 TypeScript 中的外部依赖的基本示例。根据具体的项目和需求,你可能需要进一步了解 Jest 的其他功能和配置选项,以及如何模拟不同类型的外部依赖。
领取专属 10元无门槛券
手把手带您无忧上云