我的编程空间,编程开发者的网络收藏夹
学习永远不晚

web前端:JavaScript重构之JavaScript的测试

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

web前端:JavaScript重构之JavaScript的测试

  单元测试(unittesting),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

  摘要:进行Javascript重构时,我希望引入易于使用的测试框架来保证重构的顺利进行,未来能持续通过测试代码对JavaScript逻辑的正确性做保障。

  进行JavaScript重构时,我希望引入易于使用的测试框架来保证重构的顺利进行,未来能持续通过测试代码对JavaScript逻辑的正确性做保障。

  JsUnit(http://sourceforge.net/projects/jsunit/,http://www.jsunit.net/)

  JsUnit是一个独立的JavaScript单元测试框架,和JUnit差不多,没有上手难度,包括传统的setUp和tearDown,提供的assert方法也和JUnit类似,多了assertNaN和assertUndefined等等JavaScript特有的方法。测试页面必须在head里面引入jsUnitCore.js这个js文件。

  测试套件的支持:提供了addTestPage和addTestSuite;

  测试日志的支持:包括warn、info和debug三种日志级别,前端编码不似后台代码,正式代码中不宜使用过多log,再说log也只有FF下才支持,现在好了,在测试代码里尽情打吧。

  千言万语不及一个例子:

  scriptlanguage="javascript"class="lazy" data-src="jsUnitCore.js"/script

  scriptlanguage="javascript"class="lazy" data-src="play.js"/script//模块JS

  functiontestWithMainProcess(){

  assertEquals("Webplayurl","##http://...##",webOnlinePlay());

  }

  项目的代码里到处是Ajax调用,要做单元测试,看来打桩是不可避免了。Mock类的工具有许多,比如适合jQuery的QMock:

  varmockJquery=newMock();

  mockJquery

  .expects(1)

  .method('ajax')

  .withArguments({

  url:'http://xxx,

  success:Function,

  dataType:"jsonp"

  })

  .callFunctionWith({feed:{entry:"dataresponse"}});

  这个桩正是mock了一个假的ajaxjason返回:[feed:[entry:"dataresponse"]],看看,使用就和以前接触过的EasyMock差不多嘛。

  对于JavaScript测试框架感兴趣的同学还可以了解一些其他的测试框架,例如JSpec。

  单元测试代码建议就放在模块的包内:test.html,即便理想状况下,模块单独发布时,也是伴随着测试用例的可靠的前端代码。

  从哪些JavaScript代码开始做?

  1、函数式的代码。这样的代码保证独立性好,也不需要打什么桩,测试成本低。

  2、复杂的逻辑。

  是否尝试TDD?不建议在我们团队内部使用,前端TDD需要更高的技巧,对人的因素要求更高。如果有一天,后台Java代码的TDD做好了,那么换成JavaScript的代码,没有本质区别。

  如果效果得当,为什么不能把JavaScript的UT集成到ICP-CI上作为持续集成的一部分呢?

  在一种传统的结构化编程语言中,比如C,要进行测试的单元一般是函数或子过程。在像C++这样的面向对象的语言中,要进行测试的基本单元是类。对Ada语言来说,开发人员可以选择是在独立的过程和函数,还是在Ada包的级别上进行单元测试。单元测试的原则同样被扩展到第四代语言(4GL)的开发中,在这里基本单元被典型地划分为一个菜单或显示界面。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

web前端:JavaScript重构之JavaScript的测试

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

web前端:JavaScript重构之JavaScript的测试

编程学习网:单元测试(unittesting),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
web前端:JavaScript重构之JavaScript的测试
2024-04-23

Web前端:JavaScript中的构造函数

编程学习网:构造函数,是一种特殊的方法。主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们即构造函数的重载。
Web前端:JavaScript中的构造函数
2024-04-23

2022 Web 前端面试题及答案之JavaScript 篇

给大家分享一篇面试相关文章,希望大家在 2022 年,摸鱼时间越来越多,薪资越涨越快!

web前端:JavaScript的坑,缺陷

编程学习网:NULL是在计算中具有保留的值,用于指示指针不引用有效对象。程序通常使用空指针来表示条件,例如未知长度列表的结尾或未执行某些操作这种空指针的使用可以与可空类型和选项类型中的Nothing值进行比较。
web前端:JavaScript的坑,缺陷
2024-04-23

好程序员web前端培训之JavaScript数组去重方法

  好程序员web前端之JavaScript数组去重方法,一周学习结束,老师布置我们要写一篇技术文章,脑袋里面的第一个想法就是数组去重,在网上也百度了一下,很多公司面试的时候有很大的几率会问数组去重的问题。所以今天我就给大家分享我所用过的四
2023-06-03

JavaScript Jasmine:助你成为前端测试高手

JavaScript Jasmine 是一个优秀的 JavaScript 单元测试框架,它提供了一系列强大的断言函数和简洁的语法,帮助开发人员快速构建和运行单元测试,确保代码的健壮性和可靠性。
JavaScript Jasmine:助你成为前端测试高手
2024-02-11

Jest:目前最广泛使用的前端 JavaScript 测试框架

学习如何测试异步代码[5],主要有 2 种异步调用方式:回调和 Promise。回调是通过 done​ 函数,Promise 则有多种测试方式:直接返回、使用 async await、或者配合前面任意种一方式直接丢给 expect​ 函数(

前端程序员应知应会之JavaScript基准测试套件

为了测试V8作为JavaScript引擎的性能,Google随后也开发了一套V8基准测试套件,在运行时,V8基准套件会载入一些特定的JavaScript代码,从而测试引擎的内核、加密、解密、渲染等速度。而该套件也就成为了JavaScript

前端开发:构建 Web 应用程序的前10个 JavaScript 框架

多年来,业界已经发布了大量 JavaScript 框架,怎样进行选择可能是一个挑战。如果你感到困惑,不知道应该选哪个或者究竟哪个适合你,那么我已经帮你解决了问题。在本文中,web前端小编将列出用来构建 Web 应用程序的前10个 JavaS
2023-06-03

好程序员Web前端面试题Javascript篇汇总

好程序员Web前端面试题Javascript篇汇总,相信现在参加Web前端面试的人一定不少,为了帮助大家顺利的通过面试,今天准备了前端面试题系列,通过Web知识的整理以及经验的总结,希望能帮到更多的即将参加前端面试的小伙伴。1、JavaSc
2023-06-03

好程序员web前端分享web测试之Js中的变量

  好程序员web前端分享web测试之Js中的变量,JavaScript的变量与其他语言的变量有很大区别。JavaScript变量是松散型的(不强制类型)本质,决定了它只是在特定时间用于保存特定值的一个名字而已。由于不存在定义某个变量必须要
2023-06-03

好程序员web前端教程JavaScript系列之HTTP

  好程序员web前端教程JavaScript系列之HTTP:http 是我们前后台交互的时候的传输协议(即超文本传输协议)HTTP 的工作流程00001. 和服务器建立链接00002. 建立链接后,发送一个请求给服务器(请求)00003.
2023-06-03

Web前端:JavaScript中的var与作用域

编程学习网:作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
Web前端:JavaScript中的var与作用域
2024-04-23

Web前端基础怎么学?html、css、JavaScript 知识架构图

以前开发者只要掌握 HTML、CSS、JavaScript 三驾马车就能胜任一份前端的工作了。而现在除了普通的编码以外,还要考虑如何性能优化,如何跨端、跨平台实现功能,尤其是 AI、5G 技术的来临,都在加快前端技术的更新,也在逼促开发者要
2023-06-03

JavaScript MVC 架构的测试之道:保证质量防线

JavaScript MVC 架构的测试之道:捍卫质量防线
JavaScript MVC 架构的测试之道:保证质量防线
2024-03-02

web前端:三个实用的Javascript小技巧

编程学习网:每个操作符都有自己的语义,具体取决于它所操作的类型。指令系统的每一条指令都有一个操作符,它表示该指令应进行什么性质的操作。
web前端:三个实用的Javascript小技巧
2024-04-23

JavaScript Jasmine:零基础入门,轻松掌握前端测试

JavaScript Jasmine是一个开源的、行为驱动的测试框架,用于编写前端测试。它使用简洁的语法和清晰的输出,让您轻松测试您的JavaScript代码。
JavaScript Jasmine:零基础入门,轻松掌握前端测试
2024-02-11

JavaScript Jasmine:单元测试必备神器,助你轻松搞定前端测试

JavaScript Jasmine 是一款强大的单元测试框架,专为前端测试而设计,它可以帮助您轻松、快速地创建单元测试,以确保您的代码按预期工作。
JavaScript Jasmine:单元测试必备神器,助你轻松搞定前端测试
2024-02-11

编程热搜

目录