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是一个非常不错的框架,可用来在多个浏览器中运行测试。
原文转自:http://www.uml.org.cn/Test/201301152.asp