JavaScript的单元测试工具
作者:网络转载 发布时间:[ 2015/1/26 15:32:00 ] 推荐标签:JavaScript 单元测试工具
若要使用JSTD执行测试:
1. 启动测试服务器。通过命令行,进入到存放jsTestDriver.jar的文件夹,然后运行下面的命令:
1.java -jar JsTestDriver-1.3.3d.jar -port 4224
清单17中指定的端口应该和配置文件中指定的是一样的。默认情况下,JSTD会在JAR文件驻留的同一目录下查找jsTestDriver.conf文件。
2. 复制和粘贴http://localhost:4224/capture这一URL到用于测试的浏览器中,以此来在服务器中注册一个或多个浏览器。
测试你在前面例子中使用的同一源代码(清单5),不过这次使用的是JSTD语法。清单18展示了如何转换清单10中的QUnit测试用例和清单14(译者注:参照上下文,疑为清单13)中的YUI Test测试用例。
TestCase("Temperature conversion", {
setUp : function () {
this.celsius1 = 20;
this.celsius2 = 30;
this.fahrenheit1 = 68;
this.fahrenheit2 = 86;
},
testConversionCtoF: function () {
assertSame(this.fahrenheit1, convertFromCelsiusToFahrenheit(this.celsius1));
assertSame(this.fahrenheit2, convertFromCelsiusToFahrenheit(this.celsius2));
},
testConversionFtoC: function () {
assertSame(this.celsius1, convertFromFahrenheitToCelsius(this.fahrenheit1));
assertSame(this.celsius2, convertFromFahrenheitToCelsius(this.fahrenheit2));
}
});
清单18中的代码与YUI版本的差别不大,JSTD使用 TestCase()函数来定义测试用例。如清单18中的内容,你可以使用内联声明来定义测试方法,或者可以子类化TestCase实例的原型,SetUp()和tearDown()方法对于每个测试用例来说都是可用的。
若要运行这些测试,只需执行下面的命令:
java -jar JsTestDriver-1.3.3d.jar --tests all
图4显示的是终端上的输出
图4. JSTD的测试结果

测试在之前捕获的所有浏览器中都通过(Chrome 15、Safari 5和Firefox 7)。
JSTD也可以很好地和你的持续集成系统整合在一起,成为持续构建的一部分。其提供了与诸如Eclipse(插件)或 TextMate(包)一类的IDE之间的集成。
结束语
随着当前对Web应用客户端的看重,JavaScript代码的单元测试成为了一件很重要的事情。有几个框架可用来帮助你完成这一任务,本文研究了其中三个受欢迎的框架:QUnit、YUI Test和JSTestDriver。
1. QUnit,非常简单,是一个很好的入门框架。
2. YUI Test是一个完整的工具,适合熟悉YUI库的人。
3. JSTestDriver是一个非常不错的框架,可用来在多个浏览器中运行测试。

sales@spasvo.com