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

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

线上服务:PM2 + nginx 第二章 选择nodejs框架 2-1 nodejs框架选型-开始 所用常见nodejs框架,Koa2是最简单、最小 目的扩充广度,让你了解有这门技术 Koa2...Jest Mocha 单元测试为何难以落实 supertest接口测试 测试驱动开发TDD 5-2 介绍JestMocha Jest官网:https://jestjs.io/zh-Hans/docs...如果需要服务器启动才能执行代码,就不是单元测试了。 **现状:**研发流程不规范 5-4 supertest接口测试 supertest接口测试目的是让所有接口稳起来。...本地测试: jest + supertest 远程测试: jest + axios 接口测试单元测试,代码都放在 __test__下,但两者概念要区分开。...代码演示: 安装 supertest axios package.json添加 test:remote配置(远程才用到) 接口测试目录:test/api/ 第六章:线上服务使用PM2nginx

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

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

需求与解决思路 一名好大前端开发人员,一定是一名好“配置工程师”(滑稽脸)。而最近刚到团队,被安排给 vemoJS cloudbase-cli 写测试用例,并且要保证覆盖率!...以 index.js websocket 服务为代表,模拟用户使用环境,测试 ws 是否正常 提供测试覆盖率 针对以上问题,解决思路总结如下: 函数功能测试:断言匹配功能 请求 API:mock...模块函数,例如测试用例 axios 就是被 mock http 和静态服务:测试代码启动服务后,利用 axios 等第三方请求库请求服务 websock 服务:借助 puppeteer...配置文件命令行 jest 提供两种方式来让用户自定义配置,一个是根目录 jest.config.js ,另一个是启动 jest 时候给参数。我是采用两者混搭方法。...在做调研时候发现,jest 下载量更新记录远远高于 supertest,而且更纯粹。为什么这么说呢?它提供一种测试组织形式,其它可以借助第三方库工具实现。

3.3K10

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

SpaceX-API 是一个用于火箭、核心舱、太空舱、发射台发射数据开源 REST API。...使用了 Nodejs Koa 框架。 使用了 Redis、Nginx Cloudflare 进行内容缓存。 使用了 Jest Supertest 做测试。...所有的数据存储在 MongoDB Atlas 3 节点副本集集群。 使用 mongodump 在晚上进行数据备份,在这里查看 https://backups.jakemeyer.sh/。...Koa 在 Nodejs 也是一个比较知名框架,之前也有 Node 同学问,有没有什么开源相关项目可以学习?...如何部署 NPM 本地部署 熟悉 Nodejs 朋友,你可以通过 NPM 快速在本地部署该项目,如果你还没有安装 Nodejs 可以参考我这篇文章 “3N 兄弟” 助您完成 Node.js 环境搭建

1.2K20

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

你将学到什么 通过后面的内容你将学到: 如何从 Javascript 异步函数抛出错误 如何使用 Jest 测试来自异步函数异常 要求 要继续往下读你应该: 对 Javascript ES6...有基本了解 安装 Node.Js Jest 如何从 Javascript 常规函数抛出错误 使用异常而不是返回码(清洁代码)。...异步函数异步方法总是返回一个Promise,无论是已解决还是被拒绝。 要拦截异步函数异常,必须使用catch()。...以下是在Jest测试异常规则: 使用 assert.throws 来测试普通函数方法异常 使用 expect + rejects 来测试异步函数异步方法异常 如果你对如何使用 Jest...测试 Koa 2 感兴趣,请查看使用JestSupertest进行测试简绍这篇文章。

2.9K30

GitHub 热点速览 Vol.24:程序员自我增值,优雅赚零花钱

在本期热点速览你将了解自由作者 Easy 如何优雅赚取零花钱方法,以及定投改变命运 —— 让时间陪你慢慢变富。...技术栈 部署在美国中部 Linode 服务器上 使用了 Nodejs Koa 框架 使用了 Redis、Nginx Cloudflare 进行内容缓存 使用了 Jest Supertest...这个项目专注实现依赖注入新库,支持从网络获取数据,并通过存储库模式集成数据库持久化数据。...特性: 高性能 快速编写代码:将功能开发速度提高大约 200% 至 300% 错误更少:减少约40%的人为错误(开发人员) 直观:强大编辑器支持。完成无处不在。...调试时间更少 简易:旨在易于使用学习。减少阅读文档时间 短:最小化代码重复。每个参数声明多个功能,更少错误 健壮:获取可用于生产代码,具有自动交互式文档。

76710

​在dbcolinux上安装cozy-light

而它其实也是作为PAAS存在它包装了一个node appstack(meteor),却允许任何程序php等安装入其中,它PAAS还在于它虚拟化,其实我之前一直很抵抗sandstorm,它跟docker...值得一提是,为了将这一切上提到OS硬件层面,我们提出了dbcolinux慢慢将其打造成云OS,将linux kernel作为共用核心装机中心,将/usr/local分给各种用户就可以打造openvz...建立一个shell wrapper开启它和谐模式,否则会出错,把node重命名为nodejs,/usr/bin下新建以下内容文件并加起执行权限,引用nodejs: #!...files app时会现如下错误: An error occurred while initializing notification module -- Error: connect ECONNREFUSED...[Error: No instance domain set] Error: connect ECONNREFUSED 相信不难解决

81910

2020年,你应该知道 23 个非常有用 NodeJs

由于项目不同需求,需要配置不同环境变量,按需加载不同环境变量文件,使用dotenv,可以完美解决这一问题。 使用dotenv,只需要将程序环境变量配置写在.env文件。 11....Nodemailer是nodejs邮件发送模块。 13. Sequelize 地址:https://www.npmjs.com/package/sequelize ? 什么是ORM?...简单讲就是对SQL查询语句封装,让我们可以用OOP方式操作数据库,优雅生成安全、可维护SQL代码。直观上,是一种ModelSQL映射关系。...15 Jest 地址:https://www.npmjs.com/package/jest ?...轻量,快捷,易扩展前端验证工具,无其他包依赖无样式,可以适合绝大部分使用情景,开发人员可根据项目环境自行组装反馈错误信息给用户。 20.

3.3K30

NPM 使用介绍(上)

NPM是随同NodeJS一起安装包管理工具,能解决NodeJS代码部署上很多问题,常见使用场景有以下几种: 允许用户从NPM服务器下载别人编写第三方包到本地使用。...由于新版nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装。...Node.js web框架模块 express: $ npm install express 安装好之后,express 包就放在了工程目录下 node_modules 目录,因此在代码只需要通过...-g而已,比如 npm install express # 本地安装 npm install express -g # 全局安装 如果出现以下错误: npm err!...Error: connect ECONNREFUSED 127.0.0.1:8087 解决办法为: $ npm config set proxy null 本地安装 1. 将安装包放在 .

44020

如何做前端单元测试

调查另一个有趣见解是,在大型组织单元测试更受欢迎。其中一个原因可能是,由于大型组织需要处理大规模产品,以及频繁功能迭代吧。这种持续迭代方式,迫使他们进行自动化测试投入。...Jest Mocha 相比,无论从 github starts & issues 量,npm下载量相比,都有明显优势。...里面 { "scripts": { "test": "jest" }, } 运行 npm run test ,jest 将打印下面这个消息 3.不支持部分 ES6 语法 nodejs...原理 jest 运行时内部先执行( jest-babel ),检测是否安装 babel-core,然后取 .babelrc 配置运行测试之前结合 babel 先把测试用例代码转换一遍然后再进行测试..., test、expect 报错,你还需要安装 npm install --save-dev @types/jest .

3.2K20

React-Native 入门

引入 Flexbox 布局模型样式 Flexbox布局模型有利于构建常见UI布局,stackednested boxes布局。...React Native还支持常见Web样式,fontWeight、font-size等。...Virtual DOM:相对Browser环境下DOM(文档对象模型)而言,Virtual DOM是DOM在内存一种轻量级表达方式,可以通过不同渲染引擎生成不同平台下UI,JSNative之间通过...当安装完 Node.js 后,NPM 也会一同被安装,NPM是随同NodeJS一起安装包管理工具,能解决NodeJS代码部署上很多问题,常见使用场景有以下几种: 允许用户从NPM服务器下载别人编写第三方包到本地使用...":"23.4.2","jest":"23.4.2","react-test-renderer":"16.4.1"},"jest": {"preset":"react-native"}} 接着删除项目根目录下

2.7K10

nodejs错误捕获一些最佳实践

对于程序来说,另外一种错误属于编码错误,这是程序bug,解决方式应该是修改代码,避免发生。...这种错误是程序bug,一般来说写再多代码也避免不了。因为在node应用,我们一般会监控挂掉进程并自动重启,所以立即crash是比较好方式。...domain全局异常捕获主要是为了发现处理未预料到编码错误。...所以在funcB捕获到funcC错误时,包装并传递这些错误是有价值。 包装底层错误信息时,尽可能保留原始信息,除了名称name,但不要改写原始error对象。...一般来说,在nodejs,同步函数导致操作错误是比较少见,使用try...catch会很少,常见是用户输入验证JSON、解析等。 一个函数参数、类型、预期错误、如何捕获都应该是明确

1.7K60

nodejs错误捕获一些最佳实践

对于程序来说,另外一种错误属于编码错误,这是程序bug,解决方式应该是修改代码,避免发生。...这种错误是程序bug,一般来说写再多代码也避免不了。因为在node应用,我们一般会监控挂掉进程并自动重启,所以立即crash是比较好方式。...domain全局异常捕获主要是为了发现处理未预料到编码错误。...所以在funcB捕获到funcC错误时,包装并传递这些错误是有价值。 包装底层错误信息时,尽可能保留原始信息,除了名称name,但不要改写原始error对象。...一般来说,在nodejs,同步函数导致操作错误是比较少见,使用try...catch会很少,常见是用户输入验证JSON、解析等。 一个函数参数、类型、预期错误、如何捕获都应该是明确

1.3K30

nodejs 错误捕获一些最佳实践

对于程序来说,另外一种错误属于编码错误,这是程序bug,解决方式应该是修改代码,避免发生。...这种错误是程序bug,一般来说写再多代码也避免不了。因为在node应用,我们一般会监控挂掉进程并自动重启,所以立即crash是比较好方式。...domain全局异常捕获主要是为了发现处理未预料到编码错误。...所以在funcB捕获到funcC错误时,包装并传递这些错误是有价值。 包装底层错误信息时,尽可能保留原始信息,除了名称name,但不要改写原始error对象。...一般来说,在nodejs,同步函数导致操作错误是比较少见,使用try...catch会很少,常见是用户输入验证JSON、解析等。 一个函数参数、类型、预期错误、如何捕获都应该是明确

2.9K00
领券