但是,在JavaScript的世界中,更多的时候,我们编写的是异步代码,所以,我们需要用mocha测试异步函数。
1 我们把上一节的工程把hello.js改造为异步函数, 新建hello2.js内容如下。
const fs = require('mz/fs');
// a simple async function:
module.exports = async () => {
let expression = await fs.readFile('./data.txt', 'utf-8');
let fn = new Function('return ' + expression);
let r = fn();
console.log(`Calculate: ${expression} = ${r}`);
return r;
};
2 安装环境依赖
参考资料 https://www.npmjs.com/package/mz
npm i mz
3 编写测试文件
await-test.js
const assert = require('assert');
const hello = require('./hello2.js');
it('#async function', async () => {
let r = await hello();
assert.strictEqual(r, 15);
});
4 运行测试脚本
npm test await-test.js
关于作者
王硕,网名信平,十多年软件开发经验,业余架构师,精通Java/Python/Go等,喜欢研究技术,著有《PyQt 5 快速开发与实战》《Python 3.* 全栈开发》,多个业余开源项目托管在GitHub上,欢迎微博交流。