当前位置: 首页 > news >正文

开发公司交房流程及注意事项温州seo服务

开发公司交房流程及注意事项,温州seo服务,上海今天新闻发布会直播,比较多人用什么网站做推广软件测试 本节介绍如何在 express.js 使用 Jest 进行单元测试 准备工作 准备一个基础的 express 项目,本文基于 evp-express-cli安装 Jest npm install jest --save-dev生成 Jest 配置 npx jest --init编写测试 创建测试文件,以 .test.js 后缀命名…

软件测试

本节介绍如何在 express.js 使用 Jest 进行单元测试

准备工作

  1. 准备一个基础的 express 项目,本文基于 evp-express-cli
  2. 安装 Jest
npm install jest --save-dev
  1. 生成 Jest 配置
npx jest --init

编写测试

创建测试文件,以 .test.js 后缀命名,Jest 在运行期间会自动查找并执行符合 *.test.js 命名的文件,为规范起见,新建一个 test 目录,存放所有的测试文件。

编写第一个测试

  1. 先准备一个要被测试的函数 sum(a, b),写在 src/uitls/index.js 中:
module.exports = {/*** Return the result of the sum of a and b.* @function* @param {number} a * @param {number} b * @returns {number}*/sum: (a, b) => {return a + b;}
}
  1. test 目录下创建 sum.test.js,引入 sum 并编写测试代码:
const { sum } = require('../src/utils');describe('test demo', () => {test('sum test', () => {expect(sum(1, 2)).toBe(3);})
})

toBe() 可以简单得判断相等,类似于 assertEqual,Jest 的具体语法本文不做介绍,自行查阅,其它测试框架如 mocha.js 的语法也是类似的。
3. 执行测试

npx jest

得到结果:

 PASS  test/sum.test.jstest demo√ sum test (2 ms)----------|---------|----------|---------|---------|-------------------
File      | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
----------|---------|----------|---------|---------|-------------------
All files |     100 |      100 |     100 |     100 | index.js |     100 |      100 |     100 |     100 | 
----------|---------|----------|---------|---------|-------------------
Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        0.58 s, estimated 1 s

对路由进行测试

现在我们尝试对路由进行测试,先安装 supertest

npm install supertest --save-dev

test 目录创建 router.test.js,引入 express app 和 supertest:

const request = require('supertest');
const app = require('../src/app');

接着争对 src/router/index.js 中定义的 / 路由进行测试:

describe('router test', () => {it('GET /', () => {request(app).get('/').expect('Content-Type', /json/).expect(200).then(res => {expect(res.body).toStrictEqual({ok: true, msg: 'Hello World!', data: null, symbol: 1, type: 'Ok' });}).catch(err => console.error(err));})
})

toStrictEqual 用于判断对象的严格相等;对路由测试需要用到 supertest 传入 app,然后对其 / 路由发起 GET 请求,因为请求过程是异步的,所以对响应结果的测试写在 then 回调中,当然你也可以把测试函数写成 async-await 语法糖;这个路由不需要传递任何数据,如果你需要携带数据,可以使用 send (x-www-form-urlencoded), set (请求头), field (multipart-form)等,具体用法请自行查阅 supertest 文档。

接下来执行测试:

npx jest

得到结果:

 PASS  test/sum.test.js   PASS  test/router.test.js
---------------|---------|----------|---------|---------|------------------------------
File           | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
---------------|---------|----------|---------|---------|------------------------------
All files      |   62.93 |       60 |      30 |   62.93 |                              src           |   71.76 |    66.66 |     100 |   71.76 |                              app.js       |     100 |      100 |     100 |     100 |                              config.js    |   66.66 |    66.66 |     100 |   66.66 | 36-59                        src/midwares  |   30.18 |      100 |       0 |   30.18 | exhandler.js |   30.18 |      100 |       0 |   30.18 | 7-12,16-22,26-43,47-52      src/model     |      50 |        0 |       0 |      50 | resp.js      |      50 |        0 |       0 |      50 | 4-10,19-25,29-31,35-37,41-43src/router    |   83.33 |      100 |     100 |   83.33 | index.js     |   83.33 |      100 |     100 |   83.33 | 8-9src/utils     |     100 |      100 |     100 |     100 | index.js     |     100 |      100 |     100 |     100 | logger.js    |     100 |      100 |     100 |     100 | 
---------------|---------|----------|---------|---------|------------------------------Test Suites: 2 passed, 2 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        2.054 s
Ran all test suites.
[2023-08-06 18:43:20] INFO Hello World!

如果你只想执行 router.test.js,则在后边指定要执行的测试文件即可:

npx jest test/router.test.js

下一节-软件构建

http://www.yayakq.cn/news/10455/

相关文章:

  • 网站本地可以打开seo网站关键词优化快速官网
  • 免费个人网站源码下载wordpress非法关键词
  • 中山网站建设金科湖南微信网站公司
  • 安徽建设厅网站进不去四川省建设执业注册中心网站
  • 织梦个人网站模版哈尔滨 做网站
  • 30岁转行做网站设计网站策划表
  • 公司平台做网站优化公司
  • 做3d模型的叫什么牛的网站国有企业管理培训课程
  • 北京网站开发联系电话寿光网站建设多少钱
  • 网站编辑 seo是什么 百度知道网站设计网站建设毕业文稿
  • 江西东乡网站建设wordpress 论坛
  • 网站结构优化的内容和方法鄱阳电商网站建设
  • 哪里有网站推广软件app模板网站
  • 高端网站建设企业官网建设零售管理系统软件
  • 什么网站可以做微招聘给女朋友做网站 知乎
  • 学院的网站怎么做英文服装商城网站建设
  • 重生做网站的小说怎么在html链接wordpress
  • 公司网站建设为什么不直接买模版高薪聘请网站开发工程师
  • 山东省建设厅网站多少ios应用商店下载
  • 宁波网站建设设计服务公司职业生涯规划大赛成长赛道
  • 如何利用wordpress编辑网站优化网站制作公司好吗
  • 网站建设与电子商务的教案网站建设服务器价格
  • 用asp做网站怎么美观做美食软件视频网站有哪些
  • 金融企业网站建设搜索引擎优化排名工具
  • 怎样在网站上做专栏文字壁纸做背景处理的网站
  • 合肥网站建设cnfg十个源码网站
  • 丽水品牌网站建设网站开发工具链接服务器
  • 手机百度网页版入口seo网站优化推荐
  • 做搜索的网站网络建站 响应式网站
  • 公司付网站会员费科目怎么做python和php网站开发