mocha如何实现异步测试
异步测试
用mocha测试一个函数是非常简单的,但是,在JavaScript的世界中,更多的时候,我们编写的是异步代码,所以,我们需要用mocha测试异步函数。
我们把上一节的hello-test工程复制一份,重命名为async-test,然后,把hello.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;
};
这个async函数通过读取data.txt的内容获取表达式,这样它就变成了异步。我们编写一个data.txt文件,内容如下:
1 + (2 + 4) * (9 - 2) / 3
别忘了在package.json中添加依赖包:
\"dependencies\": {\"mz\": \"2.4.0\"
},
紧接着,我们在test目录中添加一个await-test.js,测试hello.js的async函数。