> 文章列表 > mocha如何实现异步测试

mocha如何实现异步测试

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函数。