mocha 测试库的使用

错误的处理异步测试

  • 异步当出现断言错误的时候,他会抛出错误,但不会把这次测试当作失败,就是正确的顺利通过测试了,很无语。
  • promise的reject会在then的第二个函数内处理,当遇到unhand的错误时,catch会进行处理,在then的函数内部出现运行错误,也会跳转到catch进行处理,相当于trycatch。如果不指定then的第二个函数,就会跳转到catch处理,catch中出现错误,就会出现unhand的错误,直接报错。自己想想
  • 或许是只有异步才会出现下列情况
  • describe('测试全部resolve', () => {// 在这里传入done,对不去,里面不能使用done
    it("返回['success1', 'success2']", (done) => {// 在这里传入done,确实可以使用done,但是只有断言错误,才会触发,如果断言正确,就会卡死,出现超时。
    promiseAll([
    delay(100, 'success1'),
    delay(50, 'success2'),
    ]).then((res) => {
    assert.deepEqual(res, ['success2', 'success1']);
    }, (err) => {
    done(err);
    })
    }).catch((err) => {
    done(err)
    })
    });

正确的处理异步测试

  • 当处理promise等异步处理的时候,使用async函数去处理,会获得想要的结果。一个例子
  • describe('测试全部resolve', () => {
    it("返回['success1', 'success2']", async () => {await promiseAll([delay(100, 'success1'),delay(50, 'success2'),]).then((res) => {assert.deepEqual(res, ['success2', 'success1']);}, (err) => {assert.fail();})
    })
    });
  • 这样,如果出现断言失败,才会得到想要的结果,用同步去处理异步断言测试。

转载于:https://www.cnblogs.com/zanzg/p/9968110.html

蛋疼的mocha库-promise异步测试相关推荐

  1. 自动化测试(二)01-前端测试分为单元测试、集成测试和E2E测试 测试工具对比-适合TDD或 BDD、断言、异步测试 测试工具的类型

    自动化测试(二)01-前端测试分为单元测试.集成测试和E2E测试 & 测试工具对比-适合TDD或 BDD.断言.异步测试 & 测试工具的类型 前端自动化测试 测试是一个庞大的主题,包括 ...

  2. nodejs异步测试_异步过程的自动化测试

    nodejs异步测试 自从我开发了具有异步行为的服务器端应用程序以来已经有一段时间了,而该行为还不是事件驱动的系统. 异步行为始终是设计和测试中一个有趣的挑战. 通常,异步行为不应该很难进行单元测试– ...

  3. Flutter开发指南之理论篇:Dart语法04(库,异步,正则表达式)

    总目录 Flutter开发指南之理论篇:Dart语法01(数据类型,变量,函数) Flutter开发指南之理论篇:Dart语法02(运算符,循环,异常) Flutter开发指南之理论篇:Dart语法0 ...

  4. PHP CURL 异步测试

    需求, 请求第三方接口获取数据, 单个接口0.1秒, 如果有10万个接口, 那么岂不是得1万秒才能请求完, 所以使用PHP异步测试一下, 其他的方法还有: 1.使用队列, SupserVior 开多个 ...

  5. 软题库 - 软考题库,云题库,智能测试

    软题库 - 软考题库,云题库,智能测试 软题库 - 软考题库,云题库,智能测试 posted on 2017-04-17 16:43 lexus 阅读(...) 评论(...) 编辑 收藏 转载于:h ...

  6. libVLC库下载及测试

    [2023-2-26] 1. libVLC下载及测试 [2023-2-26] 1. libVLC库下载及测试 [2023-2-28] 2. Qt 实现libVLC视频显示 文章目录 [2023-2-2 ...

  7. 【花雕体验】08 行空板硬件控制pinpong库的系列测试(之一)

    行空板板身集成了光线传感器.麦克风.蜂鸣器.Wifi.蓝牙.加速度传感器.按键,正面配置有一块LCD彩屏,可实时呈现多种Python运行结果,包括文字.图片.视频,游戏画面,以及数据图表等. [花雕体 ...

  8. 【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)

    6.基础GPIO使用 行空板引脚操作与pinpong通用语法相同. [花雕体验]01上手行空板 https://blog.csdn.net/weixin_41659040/article/detail ...

  9. 【花雕体验】09 行空板硬件控制pinpong库的系列测试(之二)

    行空板板身集成了光线传感器.麦克风.蜂鸣器.Wifi.蓝牙.加速度传感器.按键,正面配置有一块LCD彩屏,可实时呈现多种Python运行结果,包括文字.图片.视频,游戏画面,以及数据图表等. [花雕体 ...

最新文章

  1. 使用Windows操作系统的13个窍门
  2. 搭建PHP环境遇到的问题!!
  3. Understanding Clouds from Satellite Images语义分割比赛中train_test_split与stratify配合使用
  4. 小学计算机房简单介绍,介绍计算机教室的小学作文我们学校的机房
  5. 效率神器!UI 稿智能转换成前端代码
  6. 世界上最欢乐的职业,可能就是蹦极的工作人员了!
  7. linux下使用c++17编译filesystem
  8. Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法(终极方法,不成功来找我~)
  9. Linux中的pipe(管道)与named pipe(FIFO 命名管道)
  10. java optional 用法_理解、学习与使用Java中的Optional
  11. 要有多勇敢才敢对回忆念念不忘,还是喜欢流眼泪。学会成长坚强,相互理解而不是责怪。我安静点,我不哭了~...
  12. [poj] 1235 Farm Tour || 最小费用最大流
  13. HFSS入门学习(一)
  14. 10个Android开发必看的GitHub开源项目
  15. Python----chardet模块的使用方法
  16. 阿里云短信接口写法参照实例
  17. 手把手教你搭建自己的微信公众号
  18. java 计算同比增长工具类
  19. 《对比Excel,轻松学习Python数据分析》读书笔记------数据可视化
  20. 运算放大器 之 概述

热门文章

  1. Convert Sorted Array to Binary Search Tree - LeetCode
  2. C#——文件上传(一般处理程序ashx)
  3. 【转/TCP协议编程】 基于TCP的Socket 编程
  4. Linux内核如何装载和启动一个可执行程序
  5. 如何从用户体验的角度去做一个网站的页面设计
  6. IE6 IE7 IE8(Q) 不支持 JSON 对象
  7. Delphi编码及注释规范
  8. [原创]正则表达式在c#中的学习和应用
  9. struct_config.xml中action/set-property标签的用法
  10. Ubuntu常用快捷键