- Objective:
- Breadcrumb: node.js
# 概念阐释
真实的测试环境都会运行多个测试代码,如果不做隔离可能会影响下面的测试结果。需要在每个测试的结尾添加一个**拆卸隔离**步骤。[[js testing mocha 测试 四阶段 Setup, Exercise, Verify]]的第四个阶段。
对环境进行的一些常见更改包括:
- 更改文件和目录结构
- 更改文件的读写权限
- 编辑数据库中的记录
# 实例
用`fs.unlinkSync(path);`删除测试生成的文件,以确保下面的测试能够正常运行
```js
const assert = require('assert');
const fs = require('fs');
// 创建2个变量,不赋值
let path, str;
describe('appendFileSync', () => {
it('creates a new file with a string of text', () => {
// 【Setup】 存储变量,路径,文件中的内容
path = './message.txt';
str = 'Hello Node.js';
// 【Exercise】: write to file
// fs.appendFileSync(路径,str)在路径处创建一个新文件,并将字符串str作为文件中的内容。
fs.appendFileSync(path, str);
// 【Verify:】 compare file contents to string
const contents = fs.readFileSync(path);//fs.readFileSync(path)返回在路径path下找到的文件的内容。
assert.equal(contents.toString(), str);//返回文件中的string内容是否等于str变量值
// Teardown: restore file
fs.unlinkSync(path);//检查完后文件会自动删除
});
// 第二个测试
it('creates a new file with a string of text', () => {
// Setup
path = './message.txt';
str = '';
// Exercise: write to file
fs.appendFileSync(path, str);
// Verify: compare file contents to string
const contents = fs.readFileSync(path);
assert.equal(contents.toString(), str);
// Teardown: restore file
fs.unlinkSync(path);
});
});
```
# 相关内容
在某些情况下,不需要拆卸步骤,因为没有需要重置的条件:
# 参考资料