php旅游类网站开发毕业设计,app交互设计,延边住房和城乡建设局网站,大专生学广告设计后悔了随着各行各业数字化转型的持续深入#xff0c;越来越多企业开始选择将一些应用程序放在距离最终用户更近的边缘位置来运行#xff0c;借此降低延迟#xff0c;提高应用程序响应速度#xff0c;打造更出色的用户体验。
相比传统集中部署和运行的方式#xff0c;这种边缘应…随着各行各业数字化转型的持续深入越来越多企业开始选择将一些应用程序放在距离最终用户更近的边缘位置来运行借此降低延迟提高应用程序响应速度打造更出色的用户体验。
相比传统集中部署和运行的方式这种边缘应用的开发、部署、运行等工作需要一系列全新工具和技术的支持。例如Akamai EdgeWorkers作为Akamai构建的全球化分布式无服务器网络可以帮助客户在全球超过4200个位置从最接近最终用户的地方运行JavaScript代码进而实现更快的响应速度。
然而随着各种应用程序将越来越多的将¥功能转移至边缘位置我们也更迫切地需要确保应用的每个功能都可以顺利地完成自己的本职工作为此往往需要进行单元测试Unit test。单元测试可以分别运行程序中每个组成部分所对应的代码检查代码的输入和输出借此开发者就能分别检查程序中的每个部分了解在哪里以及为什么发生错误。目前市面上有很多框架可以帮助我们轻松进行这样的测试其中比较流行的包括Jest、Mocha、Jasmine以及Cypress等。
在EdgeWorkers的帮助下开发者将能在边缘处运行Mock测试单元测试中的一种方法进而
再将代码发布到Akamai EdgeWorkers平台之前确定代码语法正确可以顺利运行不出错验证代码中的业务逻辑可以正常运行无错误在不依赖远程系统的前提下从公司防火墙之后测试代码变动确保无论自己的代码或Akamai的JavaScript版本如何变化相关业务逻辑都能正常生效
本文将向大家介绍如何通过Jest设置单元测试套件以确保业务逻辑正常运行随后顺利部署变动的代码并降低回归风险。
一、背景知识
Jest无需额外配置即可使用它可以算得上是最容易学习的框架之一。由于npm或node中未提供可实现类似功能的软件包因此我们创建了一个Jest mock范例可供大家使用Node.js通过EdgeWorkers API测试JavaScript代码。通过这些手工创建的Mock即可更精确地控制相关函数。
Akamai的EdgeWorkers代码库为EdgeWorkers API提供了一系列Jest mock。此外Akamai EdgeWorkers执行环境也提供了一系列模块和对象。 注意测试将在Node中执行但Node和EdgeWorkers都在V8之上运行EdgeWorkers中的一些功能已被明确禁用此外EdgeWorkers还存在一些执行方面的限制主要是在时间和内存方面开发者需要注意这些问题不要在测试中引入Node API。 接下来一起看看具体该怎么做吧。
二、EdgeWorkers的结构
EdgeWorkers的结构如下
src ——我们的Main.js和Bundle.json的所在位置所有其他模块也应该保存在这里。
test —— 单元测试
三、创建并运行测试
步骤1启动一个新项目
我们可以执行如下命令新建一个项目 步骤2安装Node模块
接下来获取需要安装的Node模块并配置相关文件。
该项目所需的Mock已经以Node模块的形式发布至edgeworkers-jest-mocks请运行下列命令安装该模块 步骤3设置Package.json
请确保自己的Package.json文件中包含下列配置
为Jest设置测试脚本 配置Jest
首先需要配置Jest这样才能更容易地导入EdgeWorkers API Mock。 步骤4设置Babel.config.json
Babel已作为依赖项包含在内借此提供Akamai EdgeWorkers所用的新版ECMAScript对应的信息。要正确配置该文件我们只需将如下内容加入babel.config.json文件即可。 注意如果该文件不存在只需创建一个JSON文件并将其更名为babel.config.json即可。 步骤5编写测试
在从Main.js文件导入EdgeWorker或其函数后即可开始编写自己需要的任何类型的测试。针对EdgeWorker event handlers编写的测试需要创建一个Request或Response Mock随后用该Mock调用Event handler函数。
如下内容展示了一个针对EdgeWorker的Jest测试范例该测试位于src/main.js中 步骤6运行测试
测试是由Jest框架提供的。要运行我们自己的单元测试请通过命令行执行如下命令 上述命令可以按照Jest的方式运行Test目录中的所有测试。 借助Jest针对EdgeWorkers边缘应用程序进行单元测试的方法就是这么简单。如果想要进一步了解相关技术可参阅下列资源。Akamai还会持续提供更丰富的开发者工具和资源帮助大家更轻松、快捷地使用Akamai提供的服务。
参考资源
EdgeWorkers Test Mocks GitHubJestEdgeWorkers developer pageEdgeWorkers user guideEdgeWorkers API guideAkamai CLI for EdgeWorkersEdgeKV getting started guide 注意随着时间流逝上述方法中的相关步骤可能会有所变化。最新方法请访问 GitHub。 如果在使用上述范例代码时遇到任何问题也欢迎通过GitHub提交Issue或通过EdgeWorkers Slack space与我们的开发者联系。
万物互联时代边缘计算正加速向我们靠近无论远程医疗、流畅低时延的智能生活或是智能驾驶背后都有它的身影。这就需要从底层基础架构到上层应用都为这种全新的模式做好充分准备。
Akamai在边缘计算领域提供了完善的解决方案同时也通过各类辅助性技术帮助开发者更高效、快速、敏捷地开发能在边缘运行的各类应用程序。
本文从测试角度为边缘应用程序的开发提供了一种新思路欢迎关注Akamai机构号了解更多技巧和知识。同时也期待着更多组织和个人开发者能借助快速发展的边缘技术塑造更多精彩