node-qunit的测试结果如何显示到浏览器中(3)
2014-04-03 09:01
537 查看
拿到了全部详细测试结果报告,在浏览器格式化显示有两种方法:
(1)自己随便写;
(2)还是用QUnit,既然它能比较优美的在浏览器显示测试结果,那我们就把node-Qunit的结果也让它来显示吧。
先看到QUnit有个push方法,以为调用把结果报告一条一条调用QUnit.push(o.result,o.actual, o.expected, o.message)就行,结果什么也没有看到。算了,按它的规则添加一些测试用例吧。
view_QUnit.ejs:
(1)自己随便写;
(2)还是用QUnit,既然它能比较优美的在浏览器显示测试结果,那我们就把node-Qunit的结果也让它来显示吧。
先看到QUnit有个push方法,以为调用把结果报告一条一条调用QUnit.push(o.result,o.actual, o.expected, o.message)就行,结果什么也没有看到。算了,按它的规则添加一些测试用例吧。
view_QUnit.ejs:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"></meta> <title>QUnit Tesing - yjSecurity</title> <link rel="stylesheet" href="/js/QUnit-1.14.0/qunit-1.14.0.css"> <script src="/js/jquery-1.10.1/jquery-1.10.1.js"></script> <script src="/js/qunit-1.14.0/qunit-1.14.0.js"></script> </head> <body> <div id="report"></div> <div id="qunit"></div> <div id="qunit-fixture"></div> <script> //var s = '<%- JSON.stringify(locals.data) %>'; //$('#report').html(s); ///获取服务器中测试的结果 var o2 = <%- JSON.stringify(locals.data) %>; var o3 = o2.assertions; ///把相同的测试名称的结果放在一起 var ls = new Array(); for (var i = 0; i < o3.length; i++) { var o = o3[i]; var values = ls[o.test]; if (values == null) { values = []; ls[o.test] = values; } values.push(o); } ///在前端组成一个假的测试 for ( var key in ls) { var values = ls[key]; test(key, values.length, _test(values)); } ///注意小技巧:_test定义是必须的,否则不好处理匿名函数的参数 function _test(values) { return function() { for (var i = 0; i < values.length; i++) { var o = values[i]; ///用QUnit.push没有效果 //QUnit.config.current={module:o.module,testName:o.test,source:o.source,assertions:[]}; //QUnit.push(o.result,o.actual, o.expected, o.message) if (o.result==false) equal(o.actual, o.expected, o.message+"\r\n"+o.source); else equal(o.actual, o.expected, o.message); } } } </script> </body> </html>ok,比较满意了。至于对失败的测试,前端也会显示一个source节,当然是对调试代码没有用处,就先不要看,我也不知道如何替换成后台的source节,但后台返回的source节也显示出来了,就看这个吧。
相关文章推荐
- node-qunit的测试结果如何显示到浏览器中(4)
- node-qunit的测试结果如何显示到浏览器中(1)
- node-qunit的测试结果如何显示到浏览器中(2)
- 对于长时间装载的ASP.NET页面如何在客户端浏览器中显示进度?(测试成功)
- select在各浏览器中显示option的测试结果分享
- 在使用Hibernate时,因为一个查询需要更多的表连接而要使用SQL来解决性能问题。然而返回的结果集中包含了没有映射的Entity类中的表字段,在这个SQL中还有使用如何将层次关系的父子结点显示为横行
- web UI 测试用例 2 在不同的浏览器和分辨率下文字显示的正确性
- oracle 下 时间戳 timeStamp 如何将查询结果显示为普通日期类型
- Oracle--sqlplus如何设置SQLPlus结果显示的宽度
- 字符串截取法在各浏览器中的测试结果
- “如何将16进制码流在html中显示为图片”兼容多个浏览器的方案。
- Sql分组查询,如何把纵向显示的结果变成横向显示
- 如何解决css样式表在不同浏览器中显示效果不同的问题
- 从零开始学习Node.js例子七 发送HTTP客户端请求并显示响应结果
- 对于长时间装载的ASP.NET页面如何在客户端浏览器中显示进度?
- 如何将一个盒子在显示在浏览器的正中间
- SQL存储过程测试(8)——当待测存储过程没有返回值的时候 如何判断测试结果是否通过
- 不同浏览器基于javascript测试结果
- Delphi 中的 XMLDocument 类详解(18) - 更好地显示 xml 的测试结果 - FormatXMLData 及其他
- MongoDB 如何限制结果和分页显示