昨天与同事实现一个简单的地图定位功能,功能虽然简单,可是过程却是痛苦的,且程度是极度的。痛苦的主要原因源自于调试前端界面,也就是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,主要原因有三个:
- jasmine(茉莉花)本人最喜欢的花;
- jasmine的语法非常优美,非常适合BDD;
- jasmine可以与rails集成。
但是最后由于使用rails g jasmine:install时出错而打住了。最后选择了QUnit,因为他是jQuery提供的,jQuery有是那么的流行,定位地图很多也是基于jQuery写的,另外,有一个叫做mockjax的扩展,可以方便的模拟ajax请求。
下面用一个简单的例子记录今日的学习过程,并展示用QUnit如何进行TDD。
需求定义
提供一个消息窗体函数,该函数可以将一个div渲染成一个消息窗口。函数需要知道将渲染的div是哪个;需要知道用什么内容去渲染该消息窗体。
详细过程
分享到:
相关推荐
【标题】:基于Django的毕业设计管理系统采用TDD(测试驱动开发)模式 这个项目是一个使用Python的Django框架构建的毕业设计管理系统。Django是全栈Web框架,它提供了一套完整的解决方案,包括数据库交互、URL路由...
这个项目采用了测试驱动开发(TDD)的方法,涉及到的主要技术有Django作为后端框架,Selenium用于自动化Web浏览器测试,以及JavaScript来增强前端交互性。下面将详细介绍这些知识点。 1. **Django**: Django是...
在开发过程中采用测试驱动开发(TDD)模式,可以先编写测试,再编写满足测试的代码,这样有助于确保代码质量。JSUnit或其他现代测试工具都支持这种开发方式。 **集成测试和端到端测试** 除了单元测试,还有集成测试...
《Python Web开发:测试驱动方法》是一本专为Python开发者设计的经典教材,主要探讨了如何在Web开发过程中采用测试驱动开发(TDD)的方法。这本书深入浅出地讲解了Python Web开发的基础,以及如何通过TDD提升代码...
总结来说,"angular-tdd:用角度进行测试驱动的开发"是关于如何在Angular项目中采用TDD策略,结合JavaScript的测试框架,确保代码质量、增强项目稳定性和可维护性的一种开发方式。通过熟练掌握这个过程,开发者可以...
同时,微软还支持使用各种语言(如C#、Python、JavaScript等)进行开发,以适应不同项目和技术栈的需求。 总的来说,微软公司的软件开发模式融合了迭代、敏捷、DevOps、TDD等现代开发理念,结合强大的工具链和开放...
在IT行业中,测试驱动开发(TDD)是一种广泛采用的软件开发方法,它强调编写测试用例在实际编码之前。"TODO-TDD:遵循测试驱动开发模式的TODO应用"项目,就是利用这种模式来构建一个待办事项管理应用。在这个项目中,...
标题中的“javascript工程”可能指的是一个使用JavaScript语言进行开发的项目,它可能是一个Web应用、一个桌面应用,或者是任何其他依赖JavaScript运行的系统。这个项目可能采用了某种特定的工程化结构,例如采用...
Rails的核心理念是敏捷开发,它鼓励开发者采用迭代、增量的方式进行软件开发,以便快速响应需求变化。 书中详细介绍了Rails框架的基本概念和核心组件,包括路由、控制器、模型、视图以及ActiveRecord等。模型层的...
“To-do-list: 使用Javascript,CSS,HTML的TDD”指的是一个基于JavaScript、CSS和HTML实现的待办事项应用,它采用了测试驱动开发(Test-Driven Development, TDD)的方法来构建。TDD是一种软件开发实践,其中开发者...
JavaScript和Node.js是现代Web开发中的核心技术,它们的测试最佳实践对于确保代码的质量、稳定性和可维护性至关重要。本文将深入探讨这两个领域的测试策略、工具和技术,帮助开发者提高测试效率和准确性。 一、...
描述中的“tdd 对后”可能是指你们在原有的POS作业基础上,采用TDD的方法进行后续的开发或者优化工作。这表明你们重视代码的质量和可测试性,遵循“红色-绿色-重构”的TDD循环,即先写失败的测试(红色),然后编写...
3. 对象与原型链:JavaScript采用基于原型的继承机制,理解对象、原型和原型链的关系是深入学习JavaScript的关键。书中可能还会涉及构造函数、实例化过程以及如何创建自定义对象。 4. 异步编程:JavaScript是非阻塞...
总之,NodeServer-TDD项目展示了如何在Node.js环境中采用TDD方法进行服务器端开发。通过编写测试用例先行,确保代码质量,同时借助工具提升开发效率和代码可读性。这个项目对于学习Node.js开发和TDD实践来说是一个很...
【标题】"tdd-spring-react"项目是一个采用Spring框架和React前端库开发的应用程序,其核心特点是采用了测试驱动开发(TDD)的方法。TDD是一种软件开发实践,强调先编写自动化测试,再编写实现代码,确保代码的质量...
在JavaScript开发领域,Test-Driven Development(TDD)是一种广泛采用的编程方法,它强调先编写测试用例,然后根据这些测试用例来实现功能代码。在这个"phaser_tdd"项目中,我们将深入探讨如何在基于Phaser游戏框架...
7. **测试驱动开发(TDD)**:Rails鼓励TDD,提供了Rspec、Cucumber等测试工具,确保代码质量。 8. **生成器与迁移**:Rails的生成器能快速创建模型、控制器、迁移文件等,迁移则方便数据库结构的版本控制和更新。 9...
**Node.js TDD:使用测试驱动的开发进行Node.js编程** 在软件开发中,测试驱动开发(Test-Driven Development,简称TDD)是一种强大的实践方法,它鼓励开发者先编写测试用例,然后根据这些测试来实现功能代码。Node...