本课程分为两个主要部分:
- Jest 快速入门
- 测试用例的分组
Jest 快速入门
首先,我们需要初始化一个项目并编写要测试的工具函数。这可以通过运行 npm init -y
来完成,接着创建一个工具库文件,例如 tools.js
,内容如下:
// 工具库
module.exports = {
sum: function(a, b) {
return a + b + 1; // 注意这里返回值比实际和多1
},
sub: function(a, b) {
return a - b;
},
mul: function(a, b) {
return a * b;
},
div: function(a, b) {
return a / b;
}
};
随后,我们需要安装 Jest,这是通过以下命令完成的:
npm install --save-dev jest
安装完成后,在项目根目录下创建一个测试文件,比如命名为 tools.test.js
。Jest 提供了一些全局方法或对象(如 test
、expect
和 jest
),可以直接在测试文件中使用,无需额外导入。以下是一个简单的测试用例示例:
const {
sum } = require('./tools');
test('测试加法', () => {
const result = sum(1, 2);
expect(result).toBe(4); // 注意这里预期结果应该是4,因为sum函数返回值比实际和多1
});
对于其他工具函数,可以采用类似的方式进行测试:
const {
sum, sub, mul, div } = require('./tools');
test('测试加法', () => {
expect(sum(1, 2)).toBe(4);
});
test('测试减法', () => {
expect(sub(10, 5)).toBe(5);
});
it('测试乘法', () => {
expect(mul(2, 3)).toBe(6);
});
it('测试除法', () => {
expect(div(10, 2)).toBe(5);
});
注意,it
是 test
的别名,两者可以互换使用。每个函数通常应该有其独立的测试用例,以便更准确地验证功能。
测试用例的分组
为了更好地组织测试用例,可以使用 describe
方法将相关的测试用例分组。这样不仅使代码结构更清晰,也便于维护。describe
同样是 Jest 提供的全局方法之一,用法如下:
describe('这是一组测试,用于验证加减法操作', () => {
test('测试加法', () => {
expect(sum(1, 2)).toBe(4);
});
test('测试减法', () => {
expect(sub(10, 5)).toBe(5);
});
});
describe('这是一组测试,用于验证乘除法操作', () => {
it('测试乘法', () => {
expect(mul(2, 3)).toBe(6);
});
it('测试除法', () => {
expect(div(10, 2)).toBe(5);
});
});
以上示例展示了如何使用 describe
将加减法与乘除法的测试用例分别归类。
总结
- Jest 提供了诸如
test
、expect
和describe
等全局方法,它们可以直接在测试文件中使用,无需额外导入。 - 使用
test
或it
方法创建测试用例,其中it
是test
的别名。 - 利用
describe
方法对测试用例进行逻辑分组,有助于保持测试文件的整洁和有序。