ikon999原创:JsUnit测试之一
一、 JUnit与JsUnit的比较
Jsunit是基于xUnit 架构之下实现的一个testing framework,JsUnit在具体构建一个测试实例的时候有很多特征、特点是与JUnit相同的。
JUnit JsUnit
Test类继承TestCase 测试页包含jsUnitCore.js
测试方法 测试函数
Test类 基于HTML的测试页
TestSuites 基于HTML的测试集
多个测试运行工具 基于HTML/JavaScript的测试运行工具
setUp()和tearDown()方法 setUp()和tearDown()函数
在虚拟机中运行 在浏览器中运行
用Java编写 用JavaScript编写
二、 下载jsunit
对于JsUnit,起步很简单,只需从JsUnit网站(www.edwardh.com/jsunit/) 下载JsUnit zip文件。把这个压缩文件解开,会得到一个jsunit文件夹,可以把Web服务器放在这里,这样整个团队或者整个组织就能更容易地使用JsUnit。 JsUnit的大部分“核心”都在jsunit/app目录中,在这里可以看到jsUnitCore.js、jsUnitTracer.js和 jsUnitTestManager.js,另外还有其他一些文件。如果你想运行具体的JsUnit测试,可以使用testRunner.html来运行 jsunit/tests目录中找到的任何测试页;
三、 编写测试用例
1、 编写要被测试的功能函数,建议写在一个单独的js文件中
test1.js
function add(value1, value2){
return value1 + value2;
}
function minus(value1, value2){
return value1 - value2;
}
function multiply(value1, value2){
return value1 * value2;
}
function divide(value1, value2){
return value1 / value2;
}
2、 建立一个测试页,引入jsUnitCore.js文件和功能函数js;
<script type=”text/javascript” src=”jsunit/app/jsUnitCore.js”></script>
<script type=”text/javascript” src=”test1.js”></script>
3、 编写测试函数
用JsUnit编写测试与用JUnit编写测试很相似。测试函数不能有任何参数,必须有一个前缀test,例如 testAdd()。
<script type=”text/javascript”>
var count = 0;
function setUp() //类比于JUnit中的setUp
{
count++;
}
function tearDown() //类比于JUnit中的tearDown
{
}
// 测试函数
function testAdd()
{
var result = add(4, 2);
assertEquals(6, result);
}
function testMinus()
{
var result = minus(4, 2);
assertEquals(2, result);
}
function testMultiply()
{
var result = multiply(4, 2);
assertEquals(8, result);
}
function testDivide()
{
var result = divide(4, 2);
assertEquals(2, result);
}
function testCount()
{
alert(count);
}
</script>
4、 运行测试
打开testRunner.html,输入测试页的地址,运行;
四、 断言方法
assert([comment], booleanValue)
assertTrue([comment], booleanValue)
assertFalse([comment], booleanValue)
assertEquals([comment], value1, value2)
assertNotEquals([comment], value1, value2)
assertNull([comment], value)
assertNotNull([comment], value)
assertUndefined([comment], value)
assertNotUndefined([comment], value)
assertNaN([comment], value)
assertNotNaN([comment], value)
fail(comment)
五、 Junit与jsunit测试的不同
1、 对于setup和tearDown方法,对成员变量的影响,执行多个测试方法jsunit是连续的,junit是互不影响的;因为在junit里由于每个测试方法都对应一个测试类,对成员变量是不影响的;
2、 测试方法的执行顺序:junit是采用反射的方法,找到测试方法,测试方法的执行顺序是不固定的;jsunit是一定按照文件中顺序执行的;
作者:ikon999
来源:北风技术专栏
原文链接:http://column.ibeifeng.com/51564/2008100794.shtml
( 内容完 )
添加收藏到:
您可能还对这些文章感兴趣:



没有评论, 我来评论
小贴士:评论需要管理员审核后才会显示。请不要发布与国家法律相抵触的言论,北风网将保留追究责任的权利。
类似“顶”、“沙发”、“支持”之类没有营养的文字,对勤劳贡献的作者来说是令人沮丧的反馈信息。
请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
如果您发现自己的评论没有被审核或者不见了,请参考以上三条。