该例子设置
图3显示的是运行测试之后的控制台
图3.YUITest的结果
JSTestDriver带来的轻松测试
使用功能强大的JSTestDriver(JSTD)工具,你可以通过命令行来在多种浏览器中运行JavaScript。
与JSTD一起发布的有一个JAR文件,该文件让你启动服务器,捕获一个或多个浏览器,以及在浏览器中运行测试。
你不需要像前面讨论的那两个框架那样,用到HTML运行器,不过要用到一个配置文件。
清单17给出了一个配置文件。
清单17.配置文件(jsTestDriver.conf)
server:
http:
//localhost:
4224
load:
-js/src/*.js
test:
-js/test/*.js
该配置文件是使用YAML编写的,该语言为配置文件提供了一种很好的格式。
配置文件包含了一些信息:
要启动的服务器,源代码和测试文件所在位置等。
若要使用JSTD执行测试:
1.启动测试服务器。
通过命令行,进入到存放jsTestDriver.jar的文件夹,然后运行下面的命令:
1.java-jarJsTestDriver-1.3.3d.jar-port4224
清单17中指定的端口应该和配置文件中指定的是一样的。
默认情况下,JSTD会在JAR文件驻留的同一目录下查找jsTestDriver.conf文件。
2.复制和粘贴http:
//localhost:
4224/capture这一URL到用于测试的浏览器中,以此来在服务器中注册一个或多个浏览器。
测试你在前面例子中使用的同一源代码(清单5),不过这次使用的是JSTD语法。
清单18展示了如何转换清单10中的QUnit测试用例和清单14(译者注:
参照上下文,疑为清单13)中的YUITest测试用例。
TestCase("Temperatureconversion",{
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()方法对于每个测试用例来说都是可用的。
若要运行这些测试
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2