- Objective: 项目测试
- Breadcrumb:
# 概念阐释
通过运行**以前已经执行过的测试**,以确保以前的代码和新添加、修改、优化的代码都能正常使用。
在添加新功能与修改代码后有可能会影响旧的代码,使得以前运行正常的代码现在出现错误,这种现象叫做回归。
#### 自动化回归测试
使用[[GitHub Actions]]设置一个持续集成(CI)/持续部署(CD)的工作流程,在每次更改代码并推送到版本控制系统(如 Git)时自动运行所有测试 - 持续集成。以便快速发现问题从而解决。
# 实例
**实现代码**
```js
// add.js
function add(a, b) { return a + b; } module.exports = add;
```
**测试代码**
```js
// add.test.js
const add = require('./add');
test('adds 1 + 2 to equal 3', () => {
expect(add(1, 2)).toBe(3);
});
```
- 运行`npm test` 结果显示正常
**回归测试**
```js
// add.js
function add(a, b) { return 0; // 不正确的修改 }
module.exports = add;
```
当add.js出现了一个不正确的修改,在运行测试时就代码发生了错误,此时称为回归。
# 相关内容
#### 其他测试
其他类型的测试可能侧重于新功能的验证、性能评估、用户接口的可用性、安全性等多种不同的目标。
# 参考资料