- 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); }); }); ``` # 相关内容 在某些情况下,不需要拆卸步骤,因为没有需要重置的条件: # 参考资料