3.2. 编写测试代码,导入自定义模块,测试readFile和writeFile方法的功能是否实现
时间: 2024-09-21 07:07:44 浏览: 38
在Node.js中编写测试代码来验证自定义模块(例如上面提到的`custom-file-handler`)的`readFile`和`writeFile`功能,可以使用内置的`assert`库来断言结果。这里是一个基本的Mocha测试框架的例子:
```javascript
const fs = require('fs');
const path = require('path');
const { readFile, writeFile } = require('./custom-file-handler'); // 导入自定义模块
describe('Custom File Handler', () => {
let tempFilePath;
before(async () => {
tempFilePath = path.join(__dirname, 'tempfile.txt'); // 创建临时文件路径
await writeFile(tempFilePath, 'Initial content'); // 写入初始内容
});
after(() => {
fs.unlinkSync(tempFilePath); // 测试完毕后删除临时文件
});
it('should read the file correctly', async () => {
const content = await readFile(tempFilePath);
assert.equal(content, 'Initial content', 'Failed to read file correctly');
});
it('should write and then read back the file', async () => {
const newContent = 'Modified content';
await writeFile(tempFilePath, newContent);
const modifiedContent = await readFile(tempFilePath);
assert.equal(modifiedContent, newContent, 'Failed to write and read back file');
});
});
```
这个测试代码首先在测试开始前创建一个临时文件并写入内容,然后分别检查`readFile`能否正确读取初始内容,以及`writeFile`能否更新内容并在之后读回。
阅读全文