TypeScript:
编写测试
如何操作:
TypeScript 与大多数 JavaScript 测试框架和谐工作。为了演示目的,我们将使用 Jest,一个流行的测试框架,因为它为 TypeScript 项目提供了零配置设置。
首先,确保您已安装 Jest 和必要的 TypeScript 类型:
npm install --save-dev jest typescript ts-jest @types/jest
接下来,设置 Jest 以便与 TypeScript 协作,通过修改 jest.config.js
或如果是创建一个新的:
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
};
现在,让我们编写一个简单的函数和对它的测试。考虑一个有以下函数的 sum.ts
文件:
// sum.ts
export function sum(a: number, b: number): number {
return a + b;
}
创建一个名为 sum.test.ts
的测试文件:
// sum.test.ts
import { sum } from './sum';
test('1 + 2 加起来等于 3', () => {
expect(sum(1, 2)).toBe(3);
});
使用以下命令运行您的测试:
npx jest
显示测试通过的样本输出应如下所示:
PASS ./sum.test.ts
✓ 1 + 2 加起来等于 3 (2 ms)
对于异步代码,Jest 提供了 async/await
支持。假设您有一个异步的 fetchData
函数:
// asyncFunctions.ts
export async function fetchData(): Promise<string> {
return "data";
}
使用异步函数的测试:
// asyncFunctions.test.ts
import { fetchData } from './asyncFunctions';
test('成功获取数据', async () => {
expect(await fetchData()).toBe('data');
});
当运行您的测试时,Jest 将等待 promise 解决,正确地测试异步操作。
记住,有效的测试包括为不同的场景编写多个测试,包括边缘情况,以确保您的 TypeScript 代码按预期工作。