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

Week14-服务端选型:磨刀不如砍柴功

Express eggs.js Nest.js 2-2 介绍koa2express koa2: 基于Node.js平台下一代web框架 express:node平台web框架,koa2基于express...Jest Mocha 单元测试为何难以落实 supertest接口测试 测试驱动开发TDD 5-2 介绍JestMocha Jest官网:https://jestjs.io/zh-Hans/docs...本地测试: jest + supertest 远程测试: jest + axios 接口测试单元测试,代码都放在 __test__下,但两者概念要区分开。...代码演示: 安装 supertest axios package.json中添加 test:remote配置(远程才用到) 接口测试目录:test/api/ 第六章:线上服务使用PM2nginx...log app.use(express.json()):post请求传入数据直接在route中使用req.body获取 app.use(express.urlencoded({ extended:

1.9K30

异步函数中异常处理及测试方法

你将学到什么 通过后面的内容你将学到: 如何 Javascript 异步函数中抛出错误 如何使用 Jest 测试来自异步函数异常 要求 要继续往下读你应该: 对 Javascript ES6...有基本了解 安装 Node.Js Jest 如何 Javascript 常规函数中抛出错误 使用异常而不是返回码(清洁代码)。...换句话说,我不能使用 assert.throws 来测试它。 让我们通过测试来验证一下: ? 测试失败了! ? 有没有悟出点什么? 看把你能,来抓我啊 从严格意义上讲异步函数异步方法不会抛出错误。...以下是在Jest中测试异常规则: 使用 assert.throws 来测试普通函数方法中异常 使用 expect + rejects 来测试异步函数异步方法中异常 如果你对如何使用 Jest...测试 Koa 2 感兴趣,请查看使用JestSupertest进行测试简绍这篇文章。

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

使用mocha编写node服务单元测试

mocha介绍 mocha作为最流行JavaScript测试框架之一,可以用于测试node.js服务运行在浏览器环境下js代码。...spies作为sinon最简单功能,它不会对被监听函数执行过程造成任何影响,stubmock功能都是基于spies实现。...superTest可以帮助我们去请求本地 koa 或者 express这类web框架所编写路由接口,而且对接口返回状态码、数据等进行断言校验。...它本身不依赖任何测试框架,所以我们可以直接把它丢到mocha测试用例中执行: const request = require('supertest'); const express = require...,在此基础上,我们使用一些npm包来加强我们测试过程: nyc: 提供全面的测试覆盖率 chai: 多种风格断言判断 sinon: 用于模拟或者替换难以测试代码 superTest:提供集成测试接口能力

3.9K20

如何使用Node.jsExpress实现Web应用程序中文件上传

处理文件上传:使用Node.jsExpress构建Web应用程序时,文件上传是一个常见需求。在本教程中,您将学习如何使用Node.jsExpress处理上传文件。...注意:为了跟随本教程,您需要以下内容:在您计算机上安装Node.js基本JavaScriptExpress知识一个文本编辑器或轻量级IDE,如Visual Studio Code概述为了允许文件上传...这里有几个选择,最流行是Multer、Formidableexpress-fileupload - 它们都非常相似,对于本教程,我们将使用express-fileupload对于本教程,我们将使用Verisys...流行选择包括Axiosnode-fetch - 对于本文,我们将使用node-fetch我们还将添加form-data包,以允许使用multipart表单数据进行工作,这用于执行文件上传npm install...生成器提供默认代码中(上面第9行第25行),告诉Express使用我们upload.js路由器来处理/upload路由。

13810

如何在Ubuntu上使用Jenkins自动构建

本指南将使用一个简单Node.js应用程序来展示Jenkins管道工作原理。...supertest简化测试套件should。...发布nodeapp-dev图像以便于分发手动质量测试。 根据自动测试结果通知相应部门:成功,不稳定(任何自动测试失败)或阶段完全失败。...再次,你有post代码块,但这次它有成功完成,不稳定失败通知。请记住,您可以在此处使用任何代码,而不仅仅是通知。 部署阶段 这个阶段引入了不同类型块:when。...您可以选择任意数量时间,对于此示例,将选择一分钟。 测试失败(不稳定管道) 到目前为止,一切都应该按预期工作而不会出错。但是遇到错误会发生什么? app.js在本地工作站中编辑。

7.9K10

Jest实战:单元测试与服务测试

服务为代表,模拟用户使用环境,测试 ws 是否正常 提供测试覆盖率 针对以上问题,解决思路总结如下: 函数功能测试:断言匹配功能 请求 API:mock 模块函数,例如测试用例中 axios...配置文件命令行 jest 提供两种方式来让用户自定义配置,一个是根目录 jest.config.js ,另一个是启动 jest 时候给参数。我是采用两者混搭方法。...在做调研时候发现,jest 下载量更新记录远远高于 supertest,而且更纯粹。为什么这么说呢?它提供一种测试组织形式,其它可以借助第三方库工具实现。...下 puppeteer 无法通过 npm 下载安装(就是很麻烦),所以把 puppeteer 加载代码进一步处理,同时在失败时候给出友好提示,引导使用者切换测试平台: // ... other...这样就保证了针对测试服务器配置不会污染代码库。 3.

3.3K10

再谈 API 撰写 - 总览

在 adRise,我们使用 node.js 作为后端主要技术栈(还有一些 PHP / Python / scala),因此 API 系统最好是基于 node.js 来完成。...node.js 下有很多适合于写 API 框架,比如说:express,restify,hapi,loopback,sails.js 等。...经常使用 express 同学应该了解,express 本身并不对你如何存取数据有过多干涉,任何人都可以按照自己需求使用其所需要数据访问方式:可以是 raw db access,也可以使用 ORM...这种灵活性在团队协作时候是种伤害,它让大家很容易写出来风格很不统一代码,而且,在写入数据库数据库中读取数据 normalization,离了 ORM 也会带来很多 ad-hoc 代码。...这样,让工程师效率系统效率达到一个平衡。在 node.js 下,这样 ORM 不多,可用似乎只有 waterline。

1.4K70

十分钟上手 xlsx,4 种方法实现 Excel 导入导出

本篇文章主要内容为 前端处理导入导出 后端处理导入导出 一些简单组件封装 代码都放在 Github learn-xlsx 上,除此之外,我还用 Jest 写了 单元测试,用 Cypress supertest...一般来说,需要导入 Excel 文件都不会一个 Workbook 里有好几十个 Sheet ,比较常见就一个 Sheet。毕竟管理后台一般就只会导入一个表数据。...先来实现一个 File Array Buffer 中读取 Excel 工具函数: /** * excel 文件读取数据 * @param excelRcFileBuffer excel...使用时候,我们只需要传入 原数据 key 映射关系 即可: // key 映射关系 const keyMaps = { 姓名: 'name', 年龄: 'age' } // 中文传英文...除此之外,我还用 Jest 写了 单元测试,用 Cypress supertest 做 e2e 测试,感兴趣可以 clone 下来直接白嫖哦~

2.6K30

使用 Nodejs 开发 SpaceX-API 开源了!

上面这个图片不是网上随便找,来自于 SpaceX-API 项目的 Github 网站,想起了之前说一个玩笑 “面试造火箭” 这次是真的造火箭了。。。 SpaceX-API 是什么?...SpaceX-API 是一个用于火箭、核心舱、太空舱、发射台发射数据开源 REST API。...使用了 Nodejs Koa 框架。 使用了 Redis、Nginx Cloudflare 进行内容缓存。 使用Jest Supertest 做测试。...上图展示了 SpaceX-API 目录结构,可以看到使用到 koa、mongoose 还有 ioredis 等,文末阅读原文你可以学习它们在该项目中是如何使用。...如何部署 NPM 本地部署 熟悉 Nodejs 朋友,你可以通过 NPM 快速在本地部署该项目,如果你还没有安装 Nodejs 可以参考我这篇文章 “3N 兄弟” 助您完成 Node.js 环境搭建

1.1K20

一步一步安装及配置 Node.js 与 NPM

一步一步在 Windows 安装配置 Node.js npm 零、Node.js 与 npm 关系 Node.js 是一个基于 Chrome V8 引擎 JavaScript 运行环境。...我们如果想愉快使用 JavaScript 做一些东西,node.js 是必须安装工具。 在实际工作中,我们会用到很多大佬写 JavaScript 包或模块。...如果每次都根据包命搜索官网或GitHub,下载代码,解压,再使用,而且要解决包之间依赖关系,随着项目需要包越来越多,那么这将会是一项非常繁琐工作。...二、配置 配置 npm 模块全局存放路径和缓存路径 cnpm 安装 在实际使用时,安装部分包会发现npm 奇慢无比,这是因为npm包仓库在国外。...三、NPM 使用 1.安装模块 npm install express # 本地安装 npm install express -g # 全局安装 2.卸载 npm uninstall

1.3K10

npm管理工具介绍

如果你安装是旧版本 npm,可以通过 npm 命令来升级,命令如下: sudo npm install npm -g 在以下几种情况中我们常用到npm: 允许用户NPM服务器下载别人编写第三方包到本地使用...允许用户NPM服务器下载并安装别人编写命令行程序到本地使用。 允许用户将自己编写包或命令行程序上传到NPM服务器供别人使用。...npm 命令安装模块 npm 安装 Node.js 模块语法格式如下: npm install 如:我们使用 npm 命令安装常用 Node.js web框架模块 express...可以使用以下命令来查看所有全局安装模块: npm ls -g package.json文件解析 一般我们会在项目的node_modules/express/package.json看到package.json...publish,使用npm help可查看所有命令。

1.3K50

包资源管理器NPM

NPM全称Node Package Manager,他是node包管理分发工具。其实我们可以把NPM理解为前端Maven . 我们通过npm 可以很方便地下载js库,管理前端工程....使用淘宝镜像命令: npm install -g cnpm --registry=https://registry.npm.taobao.org 使用 npm 命令安装模块 npm 安装 Node.js...模块语法格式如下: npm install 以下实例,我们使用 npm 命令安装常用 Node.js web框架模块 express: npm install express...var express = require('express'); 全局安装与本地安装 npm 包安装分为本地安装(local)、全局安装(global)两种,命令行来看,差别只是有没有-g而已...keywords - 关键字 卸载模块卸载模块 我们可以使用以下命令来卸载 Node.js 模块。

89620

NPM 介绍

简介 NPM 是随同 NodeJS 一起安装包管理工具,能解决 NodeJS 代码部署上很多问题,常见使用场景有以下几种: 允许用户NPM服务器下载别人编写第三方包到本地使用。...允许用户NPM服务器下载并安装别人编写命令行程序到本地使用。 允许用户将自己编写包或命令行程序上传到NPM服务器供别人使用。...: npm install -g npm 使用 npm 命令安装模块 npm 安装 Node.js 模块语法格式如下: `$ npm install ` 全局安装与本地安装...npm 包安装分为本地安装(local)、全局安装(global)两种,命令行来看,差别只是有没有 -g 而已,比如 # 本地安装 npm install express # 全局安装 npm...keywords - 关键字 NPM 常用命令 NPM提供了很多命令,例如 install publish,使用 npm help可查看所有命令。

78710

【Bun1.0】使用 Bun.js 构建快速、可靠安全 JavaScript 应用程序

ts-jest,@swc/jest,babel-jest jest-extended vitest,vitest.config.ts 虽然这些工具各自都很不错(大多数情况下),但将它们全部一起使用不可避免地会导致脆弱性开发体验缓慢...Bun 经过了对 npm 上最受欢迎 Node.js测试套件测试。像 Express、Koa Hono 这样服务器框架可以正常工作。使用最受欢迎全栈框架构建应用程序也可以正常工作。...与 Node.js 其他使用 Google V8 引擎构建运行时不同,Bun 使用 Apple WebKit 引擎构建。WebKit 是 Safari 引擎,每天被数十亿台设备使用。...TypeScript JSX/TSX bun index.ts 11ESM CommonJS 兼容性 CommonJS 到 ES 模块过渡缓慢而充满了恐惧。...这意味着 HTTP WebSocket 连接不会断开,并且状态不会丢失。 14插件 Bun 设计为高度可定制。 您可以定义插件来拦截导入并执行自定义加载逻辑。

62330

iKcamp新书上市《Koa与Node.js开发实战》

本书系统讲解了在实战项目中使用Koa框架开发Web应用流程步骤。第1章介绍Node.js安装、开发工具及调试。第2章第3章介绍搭建Koa实战项目的雏形。...掌握Node.js开发,既能极大地拓宽前端开发者技术知识面,也能拓展前端开发者生存空间,目前前端开发者越来越多环境中脱颖而出。...在社区中,大量第三方开发者开发了丰富Express插件,极大地降低了基于Node.jsWeb应用开发成本,同时也带动了大量开发者选择使用Express框架开发Web应用。...本书Node.js基础、HTTP、Koa框架、数据库、单元测试运维部署等方面全方位地介绍了应用开发所应具备知识体系。...在第7章中介绍了Chai断言库,它用来检测单元测试过程中结果是否符合预期;介绍了Mocha测试框架,使用该框架可以编写运行单元测试代码;介绍了使用SuperTest工具测试HTTP服务,以及通过Nock

1.6K30

iKcamp新书上市《Koa与Node.js开发实战》

本书系统讲解了在实战项目中使用Koa框架开发Web应用流程步骤。第1章介绍Node.js安装、开发工具及调试。第2章第3章介绍搭建Koa实战项目的雏形。...掌握Node.js开发,既能极大地拓宽前端开发者技术知识面,也能拓展前端开发者生存空间,目前前端开发者越来越多环境中脱颖而出。...在社区中,大量第三方开发者开发了丰富Express插件,极大地降低了基于Node.jsWeb应用开发成本,同时也带动了大量开发者选择使用Express框架开发Web应用。...本书Node.js基础、HTTP、Koa框架、数据库、单元测试运维部署等方面全方位地介绍了应用开发所应具备知识体系。...在第7章中介绍了Chai断言库,它用来检测单元测试过程中结果是否符合预期;介绍了Mocha测试框架,使用该框架可以编写运行单元测试代码;介绍了使用SuperTest工具测试HTTP服务,以及通过Nock

1.6K10

2024年Node.js精选:50款工具库集锦,项目开发轻松上手(三)

为Web应用加固安全Helmet,到简化数据验证Ajv,再到推动JavaScript函数式编程Ramda,这些库各有所长,却都指向同一个目标:让Node.js开发更加高效、安全且可维护。...Socket.IO优点 实时通信:实现客户端和服务器之间即时数据交换双向互动。 减轻服务器负载:服务器卸载实时处理任务,提升可扩展性性能。...框架集成:与Node.jsExpress、Koa等流行框架无缝工作。...https://www.npmjs.com/package/jest 29、Helmet:加固Node.js Web应用安全盾牌 在开发基于ExpressNode.js Web应用时,安全性是一个不可忽视重要方面...使用Helmet示例 基本使用: const express = require('express'); const helmet = require('helmet'); const app =

15010
领券