异步测试

Reads: 2081 Edit

但是,在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上,欢迎微博交流。


Comments

Make a comment

www.ultrapower.com ,王硕的博客,专注于研究互联网产品和技术,提供中文精品教程。 本网站与其它任何公司及/或商标无任何形式关联或合作。