美文网首页Nodejs
异步代码测试

异步代码测试

作者: jinsihou19 | 来源:发表于2018-10-03 11:49 被阅读10次

使用 Mocha 在测试异步函数的时候非常简单,只需要在回调结束的时候手动调用一下回调函数即可。向 it() 中添加一个回调函数(通常命名为 done() ),Mocha 就会知道应该等待函数调用之后完成测试。

describe('#product', () => {
    it('should be array', (done) => {
        product.get((products) => {
            products.should.be.a.Array();
            done();
        });
    });
});

使用 PROMISE

现在越来越多的 node 使用 Promise 来编写,Promise 的测试也是非常有必要的。
写 Promise 的时候,直接返回一个 Promise 来代替上面的 done() 回调函数。

describe('#feature', () => {
    it('should be array', () => feature.get().then((data) => {
        data.should.be.a.Array();
    }));
});

注意:
在 Mocha v3.0.0 或者更新的版本中,如果既返回 Promise,又调用 done(),会抛出异常,两者只能选其一不能同时使用。在老版本中,两者同时使用时,done() 默认被忽略。

使用 ASYNC / AWAIT

如果运行环境支持 async / await 的时候(需 Node 版本高于或等于 v7.6.0),上面的例子可以这样书写:

describe('product.getFeature', () => {
    it('should be array', async () => {
        const features = await product.getFeature();
        features.should.be.a.Array();
    });
});

这样一来,语义更加清晰了。

相关文章

  • Jest测试异步代码

    JavaScript中经常有异步运行的代码。如果你要测试异步的代码,Jest需要知道他测试的代码是否已经完成异步动...

  • 异步代码测试

    使用 Mocha 在测试异步函数的时候非常简单,只需要在回调结束的时候手动调用一下回调函数即可。向 it() 中添...

  • Jest - 测试异步代码

    代码异步运行在 JavaScript 里很常见。当你有异步代码运行时,Jest 需要知道它正在测试的代码何时完成,...

  • Jest 异步代码测试

    Callback 回调是一种最常见的异步编程模式。 错误示例: 问题处在于,一旦 fetchData 执行完毕,测...

  • iOS测试框架XCTest

    XCTest已基本满足单元测试和UI测试的需求,支持对同步流程、异步流程、性能的测试,UI测试代码的自动生成,代码...

  • iOS单元测试中的异步测试(三)

    假如单元测试中想测试如下这段代码,你会发现在测试代码处大断点,断点根本不会停留。所以针对异步代码测试,并不能像常规...

  • tornado 压力测试

    异步压力测试请求客户端,下面代码是post请求

  • 通过Espresso测试异步代码

    本篇讲如何通过Espresso实现异步测试. 概述 如果没有框架的支持测试异步代码还是非常具有挑战性的 ! 在 E...

  • 05|异步代码测试方法

    1、示例一(返回值和返回promise的处理) 2、示例二(正常处理和异常处理) 3、示例三(resolves/r...

  • OKHTTP

    OKHTTP 引用 权限配置 测试URL 同步请求 异步请求 异步get请求 异步测试post请求 Retrofi...

网友评论

    本文标题:异步代码测试

    本文链接:https://www.haomeiwen.com/subject/czuzoftx.html