JavaScript的单元测试工具(5)

发表于:2014-10-27来源:uml.org.cn作者:Elaine.Ye点击数: 标签:JavaScript
TestCase(Temperature conversion, { setUp : function () { this.celsius1 = 20; this.celsius2 = 30; this.fahrenheit1 = 68; this.fahrenheit2 = 86; }, testConversionCtoF: function () { assertSame(this.fahr

  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