Mocha:异步与同步

2024-04-15

根据 Mocha 文档,“Mocha 测试串行运行”,这意味着按照它们定义的顺序运行。

我的问题是:是什么让async(带有完成回调)测试不同于sync?


您通过传递给 Mocha 来告诉 Mocha 测试是异步的it调用一个带有参数的函数(传统上命名为done)。然后,Mocha 将使用第一个参数调用此函数,该参数是一个回调,您必须调用该回调来告诉 Mocha 测试已结束。

异步测试和同步测试之间的唯一区别是,对于异步测试,Mocha 将等待done在进行下一个测试之前要调用的回调。如果测试被认为是同步的,那么一旦您传递给的函数,Mocha就会继续进行下一个测试it返回。如果 Mocha 用异步测试来做到这一点too那么它将无法将未处理的异常与适当的测试关联起来。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mocha:异步与同步 的相关文章

  • Mocha 测试用例 - 嵌套的 it( ) 函数是否合规?

    我有这样的情况 我想我想要嵌套it Mocha 测试中的测试用例 我确信这是错误的 我没有看到任何建议来做我正在做的事情 但我目前不知道更好的方法 基本上 我有一个 父 测试 在父测试内部有一个包含所有 子 测试的 forEach 循环 i
  • sinon.js 间谍不会捕获错误吗?

    因此 我使用 mocha 和 chai 来进行前端测试 但我开始合并 sinon 并且非常喜欢它 除了测试抛出错误并不完全按照 sinon 文档似乎表明的那样工作 基本上 我有这个方法 create function bitString c
  • sinon 存根不替换函数

    我正在尝试使用 sinon 存根来替换可能需要很长时间的函数 但是当我运行测试时 测试代码似乎没有使用 sinon 存根 这是我要测试的代码 function takeTooLong return returnSomething funct
  • 为什么运行 npm test 会产生:“.”不被识别为内部或外部命令、可操作程序或批处理文件。?

    我安装了以下内容 Windows 10 Git bash mingw64 Node js v8 7 0 npm 版本 5 4 2 套餐 柴4 4 1 摩卡3 5 0 我有一个示例摩卡测试 当它实际运行时总是会通过 我在 shell 中运行的
  • 如何使 Istanbul 生成我所有源代码的覆盖范围?

    目前 伊斯坦布尔仅为我的测试中使用的文件生成覆盖范围 这没关系 但似乎在某种程度上违背了覆盖范围的目的 我没有伊斯坦布尔配置 并且通过调用它npm test使用以下脚本字符串 istanbul cover mocha R dot check
  • require.main.require 有效,但不在 Mocha 测试中

    我编写了一个全局函数来要求我的应用程序 框架的某些文件 global coRequireModel function name CRASH happens here return require main require api co na
  • 用于测试的内存 MongoDB?

    我正在使用 MongoDB 数据库为我的 NodeJS 应用程序编写一些集成和系统测试 我使用的测试框架是Mocha和Supertest 是否可以将 MongoDB 设置为内存数据库 我只能用它来测试 然后在测试完成后擦除我的所有集合和文档
  • 如何断言不为空?

    我对 javascript 测试非常陌生 我想知道如何在中断言 not nullMocha框架 Mocha 支持您想要的任何断言库 您可以在此处查看它如何处理断言 http mochajs org assertions http mocha
  • 模拟/存根“super”调用

    我想模拟一下super调用 尤其是某些 ES6 类中的构造函数 例如 import Bar from bar class Foo extends Bar constructor opts super opts someFunc super
  • 异步/等待清晰,以睡眠为例

    我试图通过下面的实现来掌握 async await 的窍门 但它没有按预期工作 public static async sleep ms number Promise
  • 错误:[$injector:unpr] 未知提供者:$stateProvider <- $state

    执行下面的单元测试会给出 错误 injector unpr 未知提供程序 stateProvider describe Unit tests function var rootScope injector state console log
  • 如何在 TypeScript 中使用 Mocha 和 Jest 而不发生冲突?

    我正在尝试在一个项目上安装带有类型的 Mocha 和 Jest 我们使用严格的类型检查 因此我收到与冲突的全局类型相关的错误 我试图创建不明确的模块声明 仅定义 Mochatypes at tsconfig 我一直在尝试删除 Jest 的声
  • mocha done() 和 async wait 的矛盾问题

    我有以下测试用例 it should pass the test async function done await asyncFunction true should eq true done 运行它断言 错误 解决方法指定过多 指定回调
  • Mocha:异步与同步

    根据 Mocha 文档 Mocha 测试串行运行 这意味着按照它们定义的顺序运行 我的问题是 是什么让async 带有完成回调 测试不同于sync 您通过传递给 Mocha 来告诉 Mocha 测试是异步的it调用一个带有参数的函数 传统上
  • 如何在 Express 中模拟中间件以跳过单元测试的身份验证?

    我在 Express 中有以下内容 index js var service require subscription service var auth require auth auth service var router expres
  • 类型错误:无法读取未定义的属性“存在”

    我正在尝试为 jsx 文件编写一个测试用例 在此我能够传递 proptypes 但不是我正确传递 proptypes 的地方 当我运行测试用例时出现错误 下面提供我的错误 测试用例和代码 类型错误 无法读取未定义的属性 存在 不知道如何让它
  • mocha——手表和猫鼬模型

    如果我让 mocha 监视更改 每次保存文件时 mongoose 都会抛出以下错误 OverwriteModelError 无法覆盖Client模型一旦编译 我知道猫鼬不允许两次定义模型 但我不知道如何让它与mocha watch clie
  • 在使用 supertest 和 Node.js 的测试中,res.body 为空

    我正在测试 Node js API超级测试 https github com visionmedia supertest 我无法解释为什么res body对象超集返回为空 数据显示在res text对象 但不是res body 知道如何解决
  • 如何使用 sinon/mocha 模拟 npm 模块

    我正在尝试测试调用该模块的函数cors 我想测试一下cors会被称为 为此 我必须存根 模拟它 这是函数 cors js const cors require cors const setCors gt cors origin http l
  • 如何使用 selenium 和 Mocha 获取 xPath() 选择的锚标记的文本

    我已经成功选择了 a 标签 我想显示锚标记的文本 但无法这样做 我正在使用 selenium mocha javascript 和 phantomJS 这是我的脚本 详细 var assert require assert var test

随机推荐