六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 58|回复: 0

采用tdd进行javascript开发

[复制链接]

升级  90%

9

主题

9

主题

9

主题

童生

Rank: 1

积分
45
 楼主| 发表于 2013-1-29 09:32:24 | 显示全部楼层 |阅读模式
<div style="color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; background-color: #ffffff; margin: 8px;"> 
昨天与同事实现一个简单的地图定位功能,功能虽然简单,可是过程却是痛苦的,且程度是极度的。痛苦的主要原因源自于调试前端界面,也就是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是哪个;需要知道用什么内容去渲染该消息窗体。
详细过程
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表