node-qunit的测试结果如何显示到浏览器中(2)
2014-04-03 08:46
477 查看
上回得到的report但实际上只是一个摘要,不够详细:
如何得到详细测试结果呢?翻看log.js,发现全局变量data是我们需要的:
ok,得到了详细的测试结果:
接下来如何把测试结果显示到浏览器中。
{"files":1,"assertions":26,"failed":3,"passed":23,"runtime":463,"tests":12,"coverage":{"files":1,"statements":{"covered":106,"total":106},"branches":{"covered":22,"total":24},"functions":{"covered":16,"total":16},"lines":{"covered":104,"total":104}}}
如何得到详细测试结果呢?翻看log.js,发现全局变量data是我们需要的:
var Table = require('cli-table'); var data, log = console.log, fileColWidth = 50; data = { assertions: [], tests: [], summaries: [], coverages: [] };但是它没有export出来,于是修改log.js,export这个变量:
exports.data=data; //add by wxh,2014/3/29于是model层就可以写成:
module.exports = function(req, res, sender) { var testrunner = require("qunit"); testrunner.run({ code : "./source/yjSecurity.js", tests : "./test/Test_yjSecurity.js" }, function(err, report) { //console.dir(testrunner.log.data); if (err) sender.error(err); else { sender.success(testrunner.log.data); } }); };
ok,得到了详细的测试结果:
{"assertions":[{"result":true,"test":"toString(16)","module":"yjSecurity"},{"result":true,"actual":"6D93","expected":"6D93","test":"toString(16)","module":"yjSecurity"},{"result":true,"actual":"4E2D","expected":"4E2D","test":"toString(16)","module":"yjSecurity"},{"result":true,"actual":67,"expected":67,"test":"charCodeAt","module":"yjSecurity"},{"result":true,"actual":20013,"expected":20013,"test":"charCodeAt","module":"yjSecurity"},{"result":true,"actual":4,"expected":4,"test":"charCodeAt","module":"yjSecurity"},{"result":true,"actual":3,"expected":3,"test":"ansiStr2ByteArray/byteArray2AnsiStr","module":"yjSecurity"},{"result":true,"actual":"wxh","expected":"wxh","test":"ansiStr2ByteArray/byteArray2AnsiStr","module":"yjSecurity"},{"result":true,"actual":"wxh","expected":"wxh","test":"encryptStr0_Ansi/decryptStr0_Ansi","module":"yjSecurity"},{"result":true,"actual":"wxh1230#$?/*&^!","expected":"wxh1230#$?/*&^!","test":"encryptStr0_Ansi/decryptStr0_Ansi","module":"yjSecurity"},{"result":false,"message":"旧方法在处理包含ASCII 0或255的字串时,有bug,这个测试会失败。","actual":"1ABCDGFA","expected":"1ABCDGFÿA","source":" at Object.s0 (D:\work\Source\WebPublic\Test\Test.yjSecurity.js\Node.js\test\Test_yjSecurity.js:47:2) at Object.Test.run (D:\Program Files\nodejs\npm-global\node_modules\qunit\support\qunit\qunit\qunit.js:136:18) at D:\Program Files\nodejs\npm-global\node_modules\qunit\support\qunit\qunit\qunit.js:279:10 at process (D:\Program Files\nodejs\npm-global\node_modules\qunit\support\qunit\qunit\qunit.js:1235:24) at null._onTimeout (D:\Program Files\nodejs\npm-global\node_modules\qunit\support\qunit\qunit\qunit.js:378:5) at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)","test":"故意的失败测试,encryptStr0_Ansi/decryptStr0_Ansi","module":"yjSecurity"},{"result":true,"actual":"wxÿh1230#$?/*&^!","expected":"wxÿh1230#$?/*&^!","test":"encryptStr_Ansi/decryptStr_Ansi","module":"yjSecurity"},{"result":false,"message":"只能处理Ansi单字节码,不能处理中文。","actual":"wxÿh1230#hý$?/*&^!","expected":"wxÿh1230#周国$?/*&^!","source":" at Object. (D:\work\Source\WebPublic\Test\Test.yjSecurity.js\Node.js\test\Test_yjSecurity.js:61:2) at Object.Test.run (D:\Program Files\nodejs\npm-global\node_modules\qunit\support\qunit\qunit\qunit.js:136:18) at D:\Program Files\nodejs\npm-global\node_modules\qunit\support\qunit\qunit\qunit.js:279:10 at process (D:\Program Files\nodejs\npm-global\node_modules\qunit\support\qunit\qunit\qunit.js:1235:24) at null._onTimeout (D:\Program Files\nodejs\npm-global\node_modules\qunit\support\qunit\qunit\qunit.js:378:5) at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)","test":"故意的失败测试,encryptStr_Ansi/decryptStr_Ansi","module":"yjSecurity"},{"result":true,"actual":"065066067","expected":"065066067","test":"unicodeStr2ByteArray","module":"yjSecurity"},{"result":true,"actual":"1中国A","expected":"1中国A","test":"byteArray2UnicodeStr","module":"yjSecurity"},{"result":true,"actual":"","expected":"","test":"encryptStr0_Unicode/decryptStr0_Unicode","module":"yjSecurity"},{"result":true,"actual":"1中国A","expected":"1中国A","test":"encryptStr0_Unicode/decryptStr0_Unicode","module":"yjSecurity"},{"result":true,"actual":"123","expected":"123","test":"encryptStr0_Unicode/decryptStr0_Unicode","module":"yjSecurity"},{"result":true,"actual":"ABC","expected":"ABC","test":"encryptStr0_Unicode/decryptStr0_Unicode","module":"yjSecurity"},{"result":true,"actual":"ABC中国EFGشش.ذ.ش.و فال الخير لل中國","expected":"ABC中国EFGشش.ذ.ش.و فال الخير لل中國","test":"encryptStr0_Unicode/decryptStr0_Unicode","module":"yjSecurity"},{"result":false,"message":"旧方法在处理包含ASCII 0或255的字串时,有bug,这个测试会失败。","actual":"1中国A","expected":"1中国ÿA","source":" at Object.s0 (D:\work\Source\WebPublic\Test\Test.yjSecurity.js\Node.js\test\Test_yjSecurity.js:89:2) at Object.Test.run (D:\Program Files\nodejs\npm-global\node_modules\qunit\support\qunit\qunit\qunit.js:136:18) at D:\Program Files\nodejs\npm-global\node_modules\qunit\support\qunit\qunit\qunit.js:279:10 at process (D:\Program Files\nodejs\npm-global\node_modules\qunit\support\qunit\qunit\qunit.js:1235:24) at null._onTimeout (D:\Program Files\nodejs\npm-global\node_modules\qunit\support\qunit\qunit\qunit.js:378:5) at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)","test":"故意的失败测试,encryptStr0_Unicode/decryptStr0_Unicode","module":"yjSecurity"},{"result":true,"actual":"","expected":"","test":"encryptStr_Unicode/decryptStr_Unicode","module":"yjSecurity"},{"result":true,"actual":"1中国ÿA","expected":"1中国ÿA","test":"encryptStr_Unicode/decryptStr_Unicode","module":"yjSecurity"},{"result":true,"actual":"123","expected":"123","test":"encryptStr_Unicode/decryptStr_Unicode","module":"yjSecurity"},{"result":true,"actual":"ABC","expected":"ABC","test":"encryptStr_Unicode/decryptStr_Unicode","module":"yjSecurity"},{"result":true,"actual":"ABC中国EFGشش.ذ.ش.و فال الخير لل中國","expected":"ABC中国EFGشش.ذ.ش.و فال الخير لل中國","test":"encryptStr_Unicode/decryptStr_Unicode","module":"yjSecurity"}],"tests":[{"name":"toString(16)","module":"yjSecurity","failed":0,"passed":3,"total":3},{"name":"charCodeAt","module":"yjSecurity","failed":0,"passed":3,"total":3},{"name":"ansiStr2ByteArray/byteArray2AnsiStr","module":"yjSecurity","failed":0,"passed":2,"total":2},{"name":"encryptStr0_Ansi/decryptStr0_Ansi","module":"yjSecurity","failed":0,"passed":2,"total":2},{"name":"故意的失败测试,encryptStr0_Ansi/decryptStr0_Ansi","module":"yjSecurity","failed":1,"passed":0,"total":1},{"name":"encryptStr_Ansi/decryptStr_Ansi","module":"yjSecurity","failed":0,"passed":1,"total":1},{"name":"故意的失败测试,encryptStr_Ansi/decryptStr_Ansi","module":"yjSecurity","failed":1,"passed":0,"total":1},{"name":"unicodeStr2ByteArray","module":"yjSecurity","failed":0,"passed":1,"total":1},{"name":"byteArray2UnicodeStr","module":"yjSecurity","failed":0,"passed":1,"total":1},{"name":"encryptStr0_Unicode/decryptStr0_Unicode","module":"yjSecurity","failed":0,"passed":5,"total":5},{"name":"故意的失败测试,encryptStr0_Unicode/decryptStr0_Unicode","module":"yjSecurity","failed":1,"passed":0,"total":1},{"name":"encryptStr_Unicode/decryptStr_Unicode","module":"yjSecurity","failed":0,"passed":5,"total":5}],"summaries":[{"failed":3,"passed":23,"total":26,"runtime":276,"code":"D:\work\Source\WebPublic\Test\Test.yjSecurity.js\Node.js\source\yjSecurity.js"}],"coverages":[]}
接下来如何把测试结果显示到浏览器中。
相关文章推荐
- node-qunit的测试结果如何显示到浏览器中(4)
- node-qunit的测试结果如何显示到浏览器中(1)
- node-qunit的测试结果如何显示到浏览器中(3)
- 对于长时间装载的ASP.NET页面如何在客户端浏览器中显示进度?(测试成功)
- select在各浏览器中显示option的测试结果分享
- 在线测试不同操作系统不同浏览器网页的显示效果
- web UI 测试用例 2 在不同的浏览器和分辨率下文字显示的正确性
- oracle 下 时间戳 timeStamp 如何将查询结果显示为普通日期类型
- Oracle--sqlplus如何设置SQLPlus结果显示的宽度
- 如何解决css样式表在不同浏览器中显示效果不同的问题
- 从零开始学习Node.js例子七 发送HTTP客户端请求并显示响应结果
- php中如何分页显示查询数据结果
- 如何将一个盒子在显示在浏览器的正中间
- 如何在搜索结果出来之前,让页面显示“等待中...”
- linux如何使用文本浏览器lynx并显示中文
- 如何让浏览器后退显示页面已经过期?(publish by sunwei)
- 不同浏览器基于javascript测试结果
- 对于长时间装载的ASP.NET页面如何在客户端浏览器中显示进度?
- MongoDB 如何限制结果和分页显示
- 如何将主窗体的查询结果在子窗体显示