supertest的expect和then有什么区别?

2024-02-11

使用时supertest为了在 JavaScript 中测试异步 HTTP 请求,这两个片段有什么区别?其中一项是正确的,另一项是错误的吗?

request('http://localhost:8080/').get('/api/people') .expect(res => res.body.should.have.length(5))

vs.

request('http://localhost:8080/').get('/api/people') .then(res => res.body.should.have.length(5))

我能注意到的唯一区别是:

  • expect返回一个Test对象,并且当测试失败时,打印一个大的堆栈跟踪
  • then返回一个Promise对象,并且当测试失败时, 打印一个小的堆栈跟踪

根据您使用的测试运行程序显然会影响答案,但是类似Mocha将允许您返回Promise直接在您的测试中,这将等待测试通过之前解决。

所以如果你有类似的事情:

describe('Your test case', function () {

  it('will wait for promise to resolve', function () {
    return request('http://localhost:8080/').get('/api/people')
      .then(res => res.body.should.have.length(5))
  })

})

而在另一个例子中你确实should按照以下方式使用完成回调https://www.npmjs.com/package/supertest https://www.npmjs.com/package/supertest docs.

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

supertest的expect和then有什么区别? 的相关文章

随机推荐

  • Android 外部库项目出现 NoClassDefFoundError

    我使用 eclipse 进行 Google Android 开发 我创建了一个图书馆项目 x Is Library在 Android 设置中 其中包括外部 jar 文件 参考库 该库项目在另一个项目 将使用该库项目的实际项目 中引用 这是通
  • 错误 - 未标记为可序列化

    我收到的错误是 Type OrgPermission in Assembly App Code ptjvczom Version 0 0 0 0 Culture neutral PublicKeyToken null is not mark
  • 根据父子数据绘制树形图或组织图

    我在带有 GroupID TreeID 的表中有父子信息 从这张表中我想得出这样的结果 画树的目的只是为了观看 该表有数千个组ID 树结构 我正在使用 NET 平台 我应该如何进行 create table parent child Gro
  • XXX_* 输入生成的 *.pb.go 文件

    我正在研究一个tutorial https ewanvalentine io microservices in golang part 1 关于 gRPC 当我生成 pb go文件 我得到一些XXX 输入我的结构 这是我的consignme
  • Eclipse > Javascript > 代码高亮不能使用对象表示法

    我在用Eclipse Helios 使用 PDT 以及当我使用默认值编辑 JavaScript 文件时JavaScript Editor JSDT 代码高亮 Mark Occurrences 不适用于 JSON style or Objec
  • 嵌套 vue.js 实例/元素

    这可能听起来像一个真正的菜鸟问题 但我对 MVVM 甚至 JS 中的 MVC 都很陌生 所以提前抱歉 我正在使用 vue js 并且到目前为止很喜欢它的简单性 但对于我想做的事情 我认为我需要以不同的方式去做 我想将 Vue 实例 元素嵌套
  • 从两个多态类继承

    给出以下代码 class T public virtual T virtual void foo 0 class U public U U void bar std cout lt lt bar lt lt std endl class A
  • 如何在 join linq 语法中比较 null

    处理 EF 4 C Face join 中的问题 SQL语法 Select a Code b Name from DepartmentMaster a Join DepartmentDetail b on isnull a ID 0 isn
  • 如何在 Snakemake 表格配置中使用列表,用于描述生物信息学管道的测序单元

    如何在 Snakemake 表格配置中使用列表 我使用 Snakemake Tabular 与 BWA mem 映射 配置来描述我的测序单元 在单独的行上测序的文库 在分析的下一阶段 我必须合并测序单元 映射的 bed 文件 并获取合并的
  • 使用 PORT=XXXX 启动节点永久脚本

    当通过特定端口运行节点命令时 我会这样启动应用程序 PORT 1234 node app js 我如何将端口传递给forever命令 无论我做什么 似乎都不想工作 我试过了 将端口作为参数传递 forever start app js 12
  • 循环浏览用户指定的根目录中的子文件夹和文件[重复]

    这个问题在这里已经有答案了 我通过各个文件的循环脚本工作正常 但我现在还需要它来查找多个目录 我被困住了 事情发生的顺序 提示用户选择他们需要的根目录 我需要脚本来查找该根目录中的任何文件夹 如果脚本找到一个 它将打开第一个 所有文件夹 因
  • 如何在Java中使用Graphics2D旋转文本?

    我想使用 Graphics2D 旋转 JPanel 上的文本 我的代码是这样的 double paso d width numeroBarras double alto datos i valor Font fBarras new Font
  • 在 MATLAB 中实现显式欧拉方法(适用于 ODE)

    我到处都找过了 但什么也没找到 首先 我想说我从未使用过 Mat Lab 所以我不知道我在做什么 我尝试了一些方法 但没有任何效果 显然 y 0 2 试图创建一个包含 0 个值为 2 的单位的列表 无论如何 有人可以帮助我吗 我需要在 Ma
  • 我们可以在透明窗口上应用着色器吗

    I am looking to apply a particular shader to a transparent window for example on a live desktop I want to create a trans
  • Perl XML::LibXML $node->findnodes($xpath) 找到它不应该找到的节点

    这是我遇到问题的一些代码 我处理一些 XML 并在 OO 类的方法中从文档中重复的几个节点中的每个节点提取一个元素 每个节点的子树中应该只有一个这样的元素 但我的代码获取所有元素 就好像它对整个文档进行操作一样 因为我只期望获得 oine
  • SSRS 报告显示为列出的目录

    如何获取 SSRS 报告以显示网页视图 当我转到 SSRS 报告页面时 它没有显示网页视图 它显示数据源 数据集和报告文件夹的列表 进入报告文件夹后 我可以通过单击它们来调用报告 没有任何问题 https docs google com f
  • 以分离模式启动的 docker 容器在进程执行后停止

    我使用以下命令以分离模式创建 docker 容器 docker run OPTIONS name my image d container name bin bash c opt init sh 所以我需要在创建的容器中执行 opt ini
  • 排序时保留 JSON 数组

    我有两个来自外部网站的 JSON 数组 我对两个数组进行排序和合并 对其进行解码 然后按 ID 从最高到最低对它们进行排序 目前 当单击 按字母顺序 选项时 sort alphabetical添加到 URL 的末尾 当页面完成重新加载时 J
  • 忽略 $Id 行的合并工具

    我需要合并一个分叉项目 不幸的是 CVS Id 行不同 因此我尝试的合并工具报告所有文件都不同 其中 95 只有这一行不同 是否有一个合并工具可以配置为忽略基于模式的行比较结果 编辑 我发现 WinMerge 有线路过滤器 正确设置它们实际
  • supertest的expect和then有什么区别?

    使用时supertest为了在 JavaScript 中测试异步 HTTP 请求 这两个片段有什么区别 其中一项是正确的 另一项是错误的吗 request http localhost 8080 get api people expect