javascript 简单的单元测试代码
javascript向来是最让人头痛的。现在敏捷开发成了一种趋势,当然javascript也要有单元测试的东东。
现在网上有很多JS单元测试的框架,比如Qunit以及Junit等。
随着nodeJS的发展,javascript也开始有自己的后端,更加需要单元测试保证代码的质量。
因为本人原生是java程序员,所以对Junit的方式比较熟悉,但市面上的写法都是JS的写法,所以有些不习惯。因此本人写了一个较为简单的unit书写工具(切忌不是框架)。
本代码用git版本管理,挂在git-hub上,https://[email protected]/LeiChen/JunitS.git
页面 : https://github.com/LeiChen/JunitS
特点:
- 支持nodeJS
- 类似java的书写方式
- 基本的assert
- 自定义报告
浏览器based的写法:
<script type="text/javascript"> var testcase = unit.TestSuite.create(); testcase.testInt = function(){ this.assertEqual("fail to test 1 == 1 ",1,1); }; testcase.testTrueFail= function(){ this.assertTrue(false); }; new unit.TestSuite().add(testcase).run(); </script>
nodeJS的写法:
var unit = require(__dirname + '/../main/unitjs.js'); //define render for jsnode var render = function (errors,tol,sucs) { if(0 == errors.length) { console.log("all success"); return ; } var content = ""; for(var i in errors) { content += errors[i].method+"|"; } console.log("test fail method :" + content); }; unit.TestSuite.init(render); var simpleTestCase = unit.TestSuite.create(); //define test method simpleTestCase.test_int = function() { assertEqual("1 equals 1 fail)", 2, 1); assertEqual(2,1); }; new unit.TestSuite().add(simpleTestCase).run();
自定义渲染结果:
<html> <head> <title>This is an example for testsuite render</title> </head> <body></body> <script type="text/javascript" src="../src/main/unitjs.js"></script> <script type="text/javascript"> var render = function(errors,total,success) { var str = "This is overrided result render:#t#/<font size='4' color='green'>#s#</font>/<font size='4' color='red'>#f#</font>"; document.body.innerHTML = str.replace(/#t#/,total).replace(/#s#/,success).replace(/#f#/,(total-success)); }; unit.TestSuite.init(render); var testcase = unit.TestSuite.create(); testcase.testInt = function(){ this.assertEqual("fail to test 1 == 1 ",1,1); }; testcase.testTrueFail= function(){ this.assertTrue(false); }; new unit.TestSuite().add(testcase).run(); </script> </html>
相关推荐
蛰脚踝的天蝎 2020-11-10
Cocolada 2020-11-12
TuxedoLinux 2020-09-11
snowphy 2020-08-19
83540690 2020-08-16
lustdevil 2020-08-03
83417807 2020-07-19
张文倩数据库学生 2020-07-19
bobljm 2020-07-07
83417807 2020-06-28
86427019 2020-06-28
86427019 2020-06-25
zhengzf0 2020-06-21
tobecrazy 2020-06-16
宿命java 2020-06-15
83417807 2020-06-15
84284855 2020-06-11