首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 Nock 来模拟 http 请求响应

本文作者:IMWeb zzbozheng 原文出处:IMWeb社区 未经同意,禁止转载 nock 是前端常用来模拟http请求响应的工具,它基于nodejs的原生http模块,并且他可以让我们写一些轻逻辑的代码...Nock将会拦截这个请求并立即返回你预先定义好的响应。 当我第一次开始使用Nock时,我急切地开始使用它进行单元测试。 然而,我很快就感觉到我花了更多时间编写Nocks而不是实际测试业务逻辑。...userPromise).rejects.toThrow('Unable to fetch user #42'); }); 上面的测试代码主要分为两部分: 发送和处理HTTP请求 业务逻辑 // api.js...400) { throw new Error(`Unable to fetch user #${id}`); } return response.json(); } // user.js...我们已经最小化地完成了HTTP传输,最大限度地减少了使用 Nock 来测度 。

1.9K10

测试用例的那一回事

Should JS 苏德 断言库 所有的测试用例(it块)都应该含有断言。 断言功能由断言库来实现,Mocha本身不带断言库,所以必须先引入断言库。 因此,我们在上面的测试用例添加断言:如下 ?...Nock 诺克 HTTP响应mock工具 有时,我们可能需要模拟HTTP请求的响应数据 是否有工具可以简化呢?...那就是Nock啦, Nock使用起来十分方便,API都十分简单名利 var should = require('should'); var nock = require('nock'); var.../这里定义,get请求XXX.qq.com域名下的/cgi-bin/teacher/get_about的数据能返回200 //并且返回结果是cgiData nock...Istanbul是可以给出测试用例的代码覆盖率检验的工具 如下面我们使用istanbul,可以看到我们的util.test.js的覆盖率情况 ?

788100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    测试用例的那一回事

    Should JS 苏德 断言库 所有的测试用例(it块)都应该含有断言。 断言功能由断言库来实现,Mocha本身不带断言库,所以必须先引入断言库。 因此,我们在上面的测试用例添加断言:如下 ?...Nock 诺克 HTTP响应mock工具 有时,我们可能需要模拟HTTP请求的响应数据 是否有工具可以简化呢?...那就是Nock啦, Nock使用起来十分方便,API都十分简单名利 var should = require('should'); var nock = require('nock'); var.../这里定义,get请求XXX.qq.com域名下的/cgi-bin/teacher/get_about的数据能返回200 //并且返回结果是cgiData nock...Istanbul是可以给出测试用例的代码覆盖率检验的工具 如下面我们使用istanbul,可以看到我们的util.test.js的覆盖率情况 ?

    51820

    测试用例的那一回事

    测试用例"(test case),表示一个单独的测试,是测试的最小单位 以上的是同步情况的测试用例 若我们需要测试异步代码时,只需要在每个it的回调中,增加done的参数,具体如下 Should JS...因此,我们在上面的测试用例添加断言:如下 Nock 诺克 HTTP响应mock工具 有时,我们可能需要模拟HTTP请求的响应数据 是否有工具可以简化呢?...那就是Nock啦, Nock使用起来十分方便,API都十分简单名利 var should = require('should'); var nock = require('nock'); var.../这里定义,get请求XXX.qq.com域名下的/cgi-bin/teacher/get_about的数据能返回200 //并且返回结果是cgiData nock...Istanbul是可以给出测试用例的代码覆盖率检验的工具 如下面我们使用istanbul,可以看到我们的util.test.js的覆盖率情况 然后,如果想知道具体覆盖率情况,可以通过打开生成的报文去查看

    44120

    理论 | 测试用例的那一回事

    测试用例"(test case),表示一个单独的测试,是测试的最小单位 以上的是同步情况的测试用例 若我们需要测试异步代码时,只需要在每个it的回调中,增加done的参数,具体如下  Should JS...因此,我们在上面的测试用例添加断言:如下  Nock 诺克 HTTP响应mock工具 有时,我们可能需要模拟HTTP请求的响应数据 是否有工具可以简化呢?...那就是Nock啦, Nock使用起来十分方便,API都十分简单名利 通过nock,直接模拟请求结果,这样我们就可以不考虑cgi的状态,而专注于model的逻辑测试 Istanbul 伊斯坦布尔 代码覆盖率检验工具...Istanbul是可以给出测试用例的代码覆盖率检验的工具 如下面我们使用istanbul,可以看到我们的util.test.js的覆盖率情况  然后,如果想知道具体覆盖率情况,可以通过打开生成的报文去查看

    38010

    那些值得一用的JS

    本文收集了前端JS开发和NodeJS开发中的一些优秀的库和工具。 ? 1....Promise 这一小节值得专门拿出来写一篇文章,尤其现在async/await已经成为JS的并发编程的标准。...Node.js dotenv-safe - 从.env里加载环境变量 这个模块扩展了非常流行的库dotenv,通过添加一个.env.example文件强制保证预期环境变量的存在。...测试 ava - 很棒的JS test runner Ava是比较新的JS单元测试工具,它具有众多JS测试库(Mocha、tape、chai和其他库)的优点,默认情况下采用并行运行的方式。 ?...nock - HTTP模拟请求 Nock是一个很棒的测试HTTP请求的库。如果你的Node模块需要发送HTTP请求,并且你想要对这个请求做单元测试,那么nock是你的不二之选。

    1.2K40

    怎样编写更好的 JavaScript 代码

    以下是我用来编写更好的 JS 的一些顶级方法。 使用TypeScript 改进你 JS 代码要做的第一件事就是不写 JS。...TypeScript(TS)是JS的“编译”超集(所有能在 JS 中运行的东西都能在 TS 中运行)。TS 在 vanilla JS 体验之上增加了一个全面的可选类型系统。...重构 JS 过程中引起痛苦的大部分原因是它没有强制按照函数的原型执行。这意味着 JS 函数永远不会被“误用”。...替代方案:testdouble 模拟 — Nock Nock on Github(https://github.com/nock/nock?...http 模拟可能是一种真正的痛苦,nock 使它不那么痛苦。Nock 直接覆盖 nodejs 内置的 request 并拦截传出的 http 请求。这使你可以完全控制 http 响应。

    1.3K30

    百变星君之Python变量

    # _*_ coding:utf-8 _*_name = "nock" 如上代码中声明了一个变量,变量名称为name,变量name的值为'nock'..../bin/env python3 # _*_ coding:utf-8 _*_ # Author: nockgod@gmail.com # Date: 2017-07-28 10:30Name = 'nock...' Phone = ’13681042939‘ 解释:当Python解释器解析到 Name = 'nock'的时候会在内存中开辟一个空间存放'nock'字符串,然后Name变量指向存储'nock'字符串的内存地址...: 创建一个变量name,指向'nock'的内存地址; 如果'nock'这个值之前没有在内存中创建,那么现在创建它,并让这个内存地址的引用数+1,此时等于1; 然后我们对变量name进行重新赋值,让其执行...'lucky'的内存地址; 那么此时'nock'值的引用数现在就变成0了,当Python一旦检测到某个内存地址的引用数为0时,就会把这个内存地址给删掉,从而释放内存空间。

    43420

    linux下rpm查询软件包依赖和被依赖关系

    查询软件包依赖哪些软件 这里演示的案例是postfix软件包 1.1 rpm方式 [root@nock ~]# rpm -qa postfix # 查看对应的rpm包 postfix-2.10.1-...6.el7.x86_64 [root@nock ~]# rpm -qR postfix # R参数的意思就是requires就是依赖哪些软件包 /bin/bash /bin/sh /bin/sh /...systemd systemd systemd systemd-sysv rpmlib(PayloadIsXz) <= 5.2-1 以上查询出来的就是依赖的软件包 1.2 yum方式 [root@nock..._64 [root@nock ~]# rpm -e --test rpcbind # 通过--test进行测试删除,查看是否有依赖关系,如果有会阻止删除 错误:依赖检测失败: rpcbind...[root@nock ~]# rpm -e --test postfix # 测试删除postfix没有报错,也就是没有别的地方依赖它,可以进行删除 [root@nock ~]# rpm -q postfix

    12.9K31

    React 16 - 生态:UI 库、Next.js、测试、开发调试工具

    适合企业场景 # Material UI 样式更加美观,适合 2C 场景 # 选择因素 组件库是否齐全 样式风格是否符合企业业务需求 API 设计是否便捷灵活 技术支持是否完善 开发是否活跃 # Next.js...# 同构应用 在服务端执行虚拟 DOM 渲染,此时前端和服务端渲染层是同一套代码 # 创建同构应用 创建 Next.js 应用程序 (opens new window) 创建页面 页面就是 pages...DynamicComponentWithCustomLoading /> Home page # 单元测试 React 让前端单元测试变得容易 React 应用很少需要访问浏览器 API 虚拟 DOM 可以在 Node.js...环境运行和测试 Redux 隔离了状态管理,可以进行纯数据层单元测试 # 相关工具 Jest:单元测试框架 JS DOM:浏览器环境的 Node.js 模拟 Enzyme:React 组件渲染和测试...nock:模拟 HTTP 请求 sinon:函数模拟和调用跟踪 istanbul:单元测试覆盖率 # 开发调试工具 ESLint Prettier React DevTool Redux DevTool

    1.5K30

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券