站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Ajax- 分析JsUnit 之运行测试
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="text-align:center; border:1px solid #000; float:right; padding:6px;"><strong>导航:</strong> [[Ajax学习教程#Ajax学习教程|上一页]] | {{template:开发语言导航}}</span> <div style="clear:both;"></div> 你已经写了一些测试,下面需要运行它们,为此可以使用JsUnit测试运行工具。你已经看到启动测试运行工具的许多例子,不过这是怎么做到的呢?为了访问这个运行工具,要把浏览器指向jsunit文件夹中的testRunner.html文件。这个测试运行工具如图6-12所示。 <br> 这个测试运行工具非常类似于JUnit中常用的图形化运行工具。(不过,有意思的是,我们期盼已久的JUnit 4并没有包括图形测试运行工具,而且以后也不会增加。)要运行一个测试,可以点击Choose File(选择文件),来选择要运行的文件。不出所料,在测试运行工具发现失败之前,进度条一直是绿的,如图6-13所示。Runs字段指示测试函数的总数,还可能报告错误或失败。<br> [[Image:image0121.jpg]] 图6-12 JsUnit测试运行工具<br> [[Image:image0131.jpg]] 图6-13 成功运行的JsUnit测试运行工具<br> 错误(error)来自浏览器,指示测试页出现了某个问题,失败(failure)指示你的某个断言失败。特定的错误或失败会显示在Errors and Failures文本框中。要了解一个错误或失败的更详细的信息,可以双击相应测试函数。或者,选中这个测试函数,再选择Show Selected。如果是失败,就会出现一个警告,显示出期望值和实际值,另外还会显示你在断言中增加的所有消息。如果看到一个错误,相应的消息(可能)会帮助你缩小查找的范围,更快地找到问题所在。<br> 下面再来看展示setUp()和tearDown()函数的例子,对这个例子做一个小小的调整。在addNumbers()函数中故意增加一个错误,试图获取一个不存在的元素,如代码清单6-10所示。<br> 代码清单6-10 故意增加的一个错误<br> function addNumbers() {<br> //arg1 doesn't exist!<br> var val1 = document.getElementById("arg1").value;<br> var val2 = document.getElementById("value2").value;<br> return addTwoNumbers(val1, val2);<br> }<br> 运行这个测试,可以想像到,会得到一个红条!注意Errors and Failures文本框中显示了一个错误(见图6-14)。<br> [[Image:image0141.jpg]] 图6-14 JsUnit测试运行工具错误<br> 通过进一步观察,可以看到如图6-15显示的详细信息。由此得知,arg1没有任何属性,你应该查查addNumbers()方法来看发生了什么问题。<br> [[Image:image0151.jpg]] 图6-15 错误详细信息<br> 在运行工具中,失败看上去都是一样的(都会得到一个红条),但是详细信息不同。如果你熟悉JUnit,会发现这里的失败信息看上去非常熟悉。下面再回到simpleJS.js文件的测试。假装你希望 2 + 2 等于 5,如代码清单6-11所示,来看看会发生什么。<br> 代码清单6-11 另一个故意的错误<br> function testValidArgs() {<br> assertEquals("we really do know that 2 + 2 is 4", 5, addTwoNumbers(2, 2));<br> }<br> 不出所料,测试运行工具会显示一个红条,但是提供详细信息的警告有所不同,见图6-16。<br> [[Image:image0161.jpg]] 图6-16 JsUnit 测试运行工具失败<br> 失败的详细信息很有帮助,如图6-17所示。可以看到你在断言函数中键入的所有消息,会得到期望值和实际值,还会得到一个栈轨迹,显示出哪里出现了失败。<br> 以上基本上介绍了测试运行工具中的所有字段,只有两个字段还没有谈到:Page Load Timeout(页面加载超时)和Setup Page Timeout(建立页面超时)。Page Load Timeout字段是指测试运行工具对于你的测试页有多耐心,如果你的测试页需要的时间比这个框中指定的时间(以秒为单位)长,测试运行工具就会抛出一个错误,如图6-18所示。如果看到这个错误,就要确保你的测试页确实是一个测试页。(换句话说,要保证它包含了jsUnitCore.js文件,而且要确保路径语句是正确的,另外如果是跨网络访问页面,还要保证可以得到这个页面)。当然,如果你在做分布式测试,测试需要的时间就会比较长,这时可能需要增加Page Load Timeout字段中的时间。<br> [[Image:image0171.jpg]] 图6-17 失败详细信息<br> [[Image:image0181.jpg]] 图6-18 页面超时警告<br> 点击OK时,可能会提示你重试或取消这一次测试,如图6-19所示。<br> Setup Page Timeout字段是类似的,但是只有当你使用了setUpPage()函数时才适用。它表示了JsUnit测试运行工具等待setUpPage()函数结束的时间(同样以秒为单位)。不要忘了,如果测试页有一个setUpPage()函数,测试运行工具会一直等待,直到setUpPageStatus变量置为complete。可以想像到,测试运行工具会通知你发生了一些意想不到的事情,如图6-20所示。<br> [[Image:image0191.jpg]] 图6-19 重试或取消<br> [[Image:image0201.jpg]] 图6-20 建立页面超时错误<br> 类似于页面加载超时,此时你也有机会重试或取消。这很有可能说明你忘了告诉JsUnit:你的setUpPage()函数已经完成。如果确实已经将setUpPageStatus变量置为complete,可能得查看一下在setUpPage()函数里做了些什么。你可能需要增加Setup Page Timeout字段的设置值,或者想办法加快建立页面的速度。<br> [[category:Ajax]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:开发语言导航
(
编辑
)