`
非飞
  • 浏览: 80577 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

采用tdd进行javascript开发

阅读更多

 

昨天与同事实现一个简单的地图定位功能,功能虽然简单,可是过程却是痛苦的,且程度是极度的。痛苦的主要原因源自于调试前端界面,也就是javascript部分。多年前也曾经写过许多javascript程序,那段历史可以追溯到ajax还未出现之前。以前写的时候因为自身、环境等各种原因,从来没有考虑过写javascript的单元测试。
经过昨天,深刻地体会了一次如果没有对javascript做单元测试,调试的过程是多么的痛苦。由于时间问题,今天粗略的google了一下javascript单元测试库,发现主要有:

  • JSUnit – http://www.jsunit.net/
  • jspec – http://jspec.info/
  • jasmine – http://pivotal.github.com/jasmine/
  • QUnit – http://docs.jquery.com/Qunit
  • jsspec – http://code.google.com/p/jsspec/

在选择的时候原本准备选用jasmine,主要原因有三个:

  1. jasmine(茉莉花)本人最喜欢的花;
  2. jasmine的语法非常优美,非常适合BDD;
  3. jasmine可以与rails集成。

但是最后由于使用rails g jasmine:install时出错而打住了。最后选择了QUnit,因为他是jQuery提供的,jQuery有是那么的流行,定位地图很多也是基于jQuery写的,另外,有一个叫做mockjax的扩展,可以方便的模拟ajax请求。

下面用一个简单的例子记录今日的学习过程,并展示用QUnit如何进行TDD。

需求定义

提供一个消息窗体函数,该函数可以将一个div渲染成一个消息窗口。函数需要知道将渲染的div是哪个;需要知道用什么内容去渲染该消息窗体。

详细过程

 

0
4
分享到:
评论

相关推荐

    Django搭建的毕业设计管理系统,TDD开发模式.zip

    【标题】:基于Django的毕业设计管理系统采用TDD(测试驱动开发)模式 这个项目是一个使用Python的Django框架构建的毕业设计管理系统。Django是全栈Web框架,它提供了一套完整的解决方案,包括数据库交互、URL路由...

    一个待办事项清单网站【Python测试驱动开发:使用Django、Selenium和JavaScript进行Web编程】.zip

    这个项目采用了测试驱动开发(TDD)的方法,涉及到的主要技术有Django作为后端框架,Selenium用于自动化Web浏览器测试,以及JavaScript来增强前端交互性。下面将详细介绍这些知识点。 1. **Django**: Django是...

    javascript 测试工具

    在开发过程中采用测试驱动开发(TDD)模式,可以先编写测试,再编写满足测试的代码,这样有助于确保代码质量。JSUnit或其他现代测试工具都支持这种开发方式。 **集成测试和端到端测试** 除了单元测试,还有集成测试...

    pythonWeb 开发:测试驱动方法 山羊书

    《Python Web开发:测试驱动方法》是一本专为Python开发者设计的经典教材,主要探讨了如何在Web开发过程中采用测试驱动开发(TDD)的方法。这本书深入浅出地讲解了Python Web开发的基础,以及如何通过TDD提升代码...

    angular-tdd:用角度进行测试驱动的开发

    总结来说,"angular-tdd:用角度进行测试驱动的开发"是关于如何在Angular项目中采用TDD策略,结合JavaScript的测试框架,确保代码质量、增强项目稳定性和可维护性的一种开发方式。通过熟练掌握这个过程,开发者可以...

    微软公司软件开发模式简介

    同时,微软还支持使用各种语言(如C#、Python、JavaScript等)进行开发,以适应不同项目和技术栈的需求。 总的来说,微软公司的软件开发模式融合了迭代、敏捷、DevOps、TDD等现代开发理念,结合强大的工具链和开放...

    TODO-TDD:遵循测试驱动开发模式的TODO应用

    在IT行业中,测试驱动开发(TDD)是一种广泛采用的软件开发方法,它强调编写测试用例在实际编码之前。"TODO-TDD:遵循测试驱动开发模式的TODO应用"项目,就是利用这种模式来构建一个待办事项管理应用。在这个项目中,...

    javascript工程

    标题中的“javascript工程”可能指的是一个使用JavaScript语言进行开发的项目,它可能是一个Web应用、一个桌面应用,或者是任何其他依赖JavaScript运行的系统。这个项目可能采用了某种特定的工程化结构,例如采用...

    Web开发敏捷之道-应用Rails进行敏捷Web开发(中英版)

    Rails的核心理念是敏捷开发,它鼓励开发者采用迭代、增量的方式进行软件开发,以便快速响应需求变化。 书中详细介绍了Rails框架的基本概念和核心组件,包括路由、控制器、模型、视图以及ActiveRecord等。模型层的...

    To-do-list:使用Javascript,CSS,HTML的TDD

    “To-do-list: 使用Javascript,CSS,HTML的TDD”指的是一个基于JavaScript、CSS和HTML实现的待办事项应用,它采用了测试驱动开发(Test-Driven Development, TDD)的方法来构建。TDD是一种软件开发实践,其中开发者...

    全面详尽的JavaScript和Node.js测试最佳实践(2023年7月).zip

    JavaScript和Node.js是现代Web开发中的核心技术,它们的测试最佳实践对于确保代码的质量、稳定性和可维护性至关重要。本文将深入探讨这两个领域的测试策略、工具和技术,帮助开发者提高测试效率和准确性。 一、...

    pos-tdd-pair:和我的搭档 Liu HuiMin@knight4925 重做我的 pos 作业

    描述中的“tdd 对后”可能是指你们在原有的POS作业基础上,采用TDD的方法进行后续的开发或者优化工作。这表明你们重视代码的质量和可测试性,遵循“红色-绿色-重构”的TDD循环,即先写失败的测试(红色),然后编写...

    WEB开发工具书

    3. 对象与原型链:JavaScript采用基于原型的继承机制,理解对象、原型和原型链的关系是深入学习JavaScript的关键。书中可能还会涉及构造函数、实例化过程以及如何创建自定义对象。 4. 异步编程:JavaScript是非阻塞...

    NodeServer-TDD

    总之,NodeServer-TDD项目展示了如何在Node.js环境中采用TDD方法进行服务器端开发。通过编写测试用例先行,确保代码质量,同时借助工具提升开发效率和代码可读性。这个项目对于学习Node.js开发和TDD实践来说是一个很...

    tdd-spring-react:这个应用程序是用Spring和React构建的,所有东西都是用TDD方法实现的

    【标题】"tdd-spring-react"项目是一个采用Spring框架和React前端库开发的应用程序,其核心特点是采用了测试驱动开发(TDD)的方法。TDD是一种软件开发实践,强调先编写自动化测试,再编写实现代码,确保代码的质量...

    phaser_tdd:示例 TDD 移相器

    在JavaScript开发领域,Test-Driven Development(TDD)是一种广泛采用的编程方法,它强调先编写测试用例,然后根据这些测试用例来实现功能代码。在这个"phaser_tdd"项目中,我们将深入探讨如何在基于Phaser游戏框架...

    应用rails进行敏捷Web开发·第三版

    7. **测试驱动开发(TDD)**:Rails鼓励TDD,提供了Rspec、Cucumber等测试工具,确保代码质量。 8. **生成器与迁移**:Rails的生成器能快速创建模型、控制器、迁移文件等,迁移则方便数据库结构的版本控制和更新。 9...

    nodeJs_TDD:使用TDD的dev nodeJS

    **Node.js TDD:使用测试驱动的开发进行Node.js编程** 在软件开发中,测试驱动开发(Test-Driven Development,简称TDD)是一种强大的实践方法,它鼓励开发者先编写测试用例,然后根据这些测试来实现功能代码。Node...

Global site tag (gtag.js) - Google Analytics