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

网站建网站建设网站 管理系统

网站建网站建设,网站 管理系统,网站每年都要续费吗,网站设计参考文献使用Jest测试Cesium源码 介绍环境Cesium安装Jest安装Jest模块包安装babel安装Jest的VSC插件 测试例子小结 介绍 在使用Cesium时,我们常常需要编写自己的业务代码,其中需要引用Cesium的源码,这样方便调试。此外,目前代码中直接使用…

使用Jest测试Cesium源码

  • 介绍
  • 环境
  • Cesium安装
  • Jest
      • 安装Jest模块包
      • 安装babel
      • 安装Jest的VSC插件
  • 测试例子
  • 小结

介绍

在使用Cesium时,我们常常需要编写自己的业务代码,其中需要引用Cesium的源码,这样方便调试。此外,目前代码中直接使用ES6的模块(Import等语法),而不是之前的CommonJS方式。

本文介绍如何使用流行的前端测试工具jest来实现自动化测试。此处暂时使用nodejs来调试代码,不涉及浏览器。

Cesium自身包含总多的测试代码(Spec文件夹下),并使用Jasmine来运行测试。不过它的测试都是所有文件打包好后再测试的,不便于我们单独测试某一个类。因此本文使用Jest来单独进行测试。

环境

  • Cesium :110版本,可直接从官方网站上下载。https://cesium.com/downloads/
  • 开发环境: Visual Studio Code(下面简称VSC),nodejs环境

Cesium安装

Cesium的安装和使用此处仅做简单介绍,如果是初学者可以搜索相关的教程。

  • 将压缩包解压缩后,使用VSC可打开。
  • 安装相关包:
npm install

npm install命令则根据package.json中的依赖安装相应的包(新创建node_modules目录)。

  • 修改package.json中的内容,将"scripts"中的"test":“gulp test --production"修改为"test2”:“gulp test --production”(仅作为备份,test2名字无实际意义)。
  • 将原来的"test"内容修改为"jest”,以便后续使用jest进行测试。

cesium目录及package.json

Jest

Jest 是由 Facebook 推出的一个前端测试框架,具有许多非常好的特性,譬如执行速度快、API友好、自动监控、Snapshot、测试覆盖率、Mock等各种特性,并且适用于Babel、TypeScript、Node、React、Angular、Vue等。

安装Jest模块包

在VSC终端运行命令:

npm install --save-dev jest

安装babel

Jest本身只支持commonjs模块,不支持es6的模块,因此当我们使用import引用别的模块时是不支持的。可以使用Babel包将es6模块转换为commonjs模块。

npm install --save-dev @babel/core
npm install --save-dev @babel/preset-env

安装完babel后,查看一下package.json文件下的devDependencies看看有没有babel的两个依赖包:
babel的依赖
成功安装后,还需要在项目文件夹下增加一个babel的配置文件.babelrc.json,内容如下:

{"presets": [["@babel/preset-env",{"targets":{"node":"current"}}]]
}

安装Jest的VSC插件

在VSC的扩展里搜索"Jest",安装这个插件。这个插件可以让我们方便的管理和测试我们的测试算例。
在这里插入图片描述

测试例子

这里,我们假设测试Cesium的源码里的Cartesian3类。100版本以后,源码都放到"packages"文件夹内了。

在项目根目录下新建“mytest”目录,新增"Cartesian3.test.js“文件,代码如下:

import Cartesian3 from "../packages/engine/Source/Core/Cartesian3.js";// Cartesian3类测试
describe("Core/Cartesian3", function () {it("x分量", function () {var cartesian = new Cartesian3(1.0, 2.0, 3.0);expect(cartesian.x).toBeCloseTo(1.0, 1e-10);});it("模大小", function () {  var cartesian = new Cartesian3(1.0, 2.0, 3.0);expect(Cartesian3.magnitude(cartesian)).toBeCloseTo(Math.sqrt(14.0), 1e-10);});
});

代码里,使用"import"命令直接引用Cesium源码文件"Cartesian3.js",运行时Babel自动帮我们将代码转换为commonjs代码。

"describe"函数和"it"函数都是Jest支持的。

**注意!!!**由于我们引用的Cesium源码位于“packages/engine”文件夹内,而“packages/engine”内本身有"package.json"文件,这个文件影响Jest,所以我们不需要这个文件,将其改名为“package2.json”,暂时保留即可!!

最终的代码界面如下:
在这里插入图片描述

我们可以看到在测试代码的旁边出现了测试提示按钮,使用绿色或者红色表示测试的成功与否。

打开VSC左侧的“测试”按钮,即可打开“测试”页面,显示各个测试文件。同时,在代码的左侧,右键,可“运行测试”或者“调试测试”。

调试测试后,生成测试结果。见下图。

Jest测试

小结

本文我们通过安装Jest相关包,通过可视化的方式进行单个测试文件的测试,测试文件中引用了Cesium的源码,便于我们调试时查看源代码的运行。此处仅使用nodejs测试相关代码,与浏览器无关。


文章转载自:

http://tIInWz3Y.fqyxb.cn
http://oO2ZC05L.fqyxb.cn
http://BrXLTUzw.fqyxb.cn
http://YmHlamE2.fqyxb.cn
http://kmJ4ZGFU.fqyxb.cn
http://bdbpXoWZ.fqyxb.cn
http://Zjf9CzQR.fqyxb.cn
http://WTtMlap6.fqyxb.cn
http://8WHoTjCl.fqyxb.cn
http://0kAm5439.fqyxb.cn
http://YdVZa9Ex.fqyxb.cn
http://GLEhsvyE.fqyxb.cn
http://AUL8pOp0.fqyxb.cn
http://FeLXQlGn.fqyxb.cn
http://EHb73fj2.fqyxb.cn
http://Y3oViqkY.fqyxb.cn
http://Qxsx9v6j.fqyxb.cn
http://I34Vqk9X.fqyxb.cn
http://m1PmSVCn.fqyxb.cn
http://TrQZdPdp.fqyxb.cn
http://ttasVlUx.fqyxb.cn
http://OGBe4KoX.fqyxb.cn
http://qqfEHFRs.fqyxb.cn
http://vRr5j3zj.fqyxb.cn
http://pC5dOe1I.fqyxb.cn
http://EtMwYqww.fqyxb.cn
http://uxhy5ByQ.fqyxb.cn
http://fwqDL5W8.fqyxb.cn
http://ZIry5slD.fqyxb.cn
http://8Wj9z0yy.fqyxb.cn
http://www.dtcms.com/wzjs/724073.html

相关文章:

  • 权威的锦州网站建设参考网是合法网站吗?
  • 网站备案那个省份推广网站排名
  • 阜阳企业网站推广做网络推广选择哪个网站好
  • 本地化网站建设网页设计师考证
  • wordpress怎样显示子类目网站的标题优化怎么做
  • 外国小孩和大人做网站宜昌外贸网站建设优化推广
  • 百度站长工具对seo的帮助阿克苏建设网站
  • 台州网站推广湖南长沙理工大学
  • 淘客做网站有必要吗软件开发网站模板
  • 赫山区网站建设wordpress ftp上传插件
  • 电脑培训学校学费多少wordpress模版seo
  • 沈阳企业自助建站wordpress所有文章新窗口打开
  • 关于申请网站建设维护经费网站建设违约责任条款
  • 网站手机版建设局网站管理办法
  • 校园网站建设硬件采购方太网站谁做的
  • 手机端网站建设哪家好公司想建网站
  • 网站弹窗广告代码中国查企业的网站
  • 网站网站建设网页设计荷城网站设计
  • 展示类网站开发费用网页制作与设计答案
  • 郑州网站优化排名网络公司名字大全三字
  • 网站建设redu搭建网站 开源软件
  • 表白网页在线生成网站源码贵阳做个网站需要多少钱
  • 可以用来做论文引用的网站四川手机网站建设公司
  • 建网站的步骤郴州免费招聘网站
  • 南通城乡建设局网站招聘百度收录好的网站排名
  • 交易类网站做支付宝功能自驾旅游服务网站开发文献综述
  • 国家建设部网站查询有网站源代码 怎么样建设网站
  • 网站开发技术网站开发设计项目书
  • 网站开发需要用到哪些技术榆次做网站
  • 成都网站制作创新互联山东手机网站建设报价