javascript向来是最让人头痛的。现在敏捷开发成了一种趋势,当然javascript也要有单元测试的东东。
现在网上有很多JS单元测试的框架,比如Qunit以及Junit等。
随着nodeJS的发展,javascript也开始有自己的后端,更加需要单元测试保证代码的质量。
因为本人原生是java程序员,所以对Junit的方式比较熟悉,但市面上的写法都是JS的写法,所以有些不习惯。因此本人写了一个较为简单的unit书写工具(切忌不是框架)。
本代码用git版本管理,挂在git-hub上,https://LeiChen@github.com/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>
分享到:
相关推荐
**jasmine - JavaScript 单元测试工具** jasmine是一个广泛使用的开源工具,专门设计用于JavaScript的单元测试。这个框架提供了一套完整的测试环境,使得开发者能够有效地验证他们的JavaScript代码是否按照预期工作...
JavaScript单元测试是软件开发过程中的重要环节,它用于验证代码的各个独立部分(即单元)是否按预期工作。Jasmine是一款流行的JavaScript测试框架,尤其适用于前端开发者,它提供了丰富的断言库和易于理解的语法,...
JavaScript单元测试是软件开发过程中的一个关键环节,它允许开发者对代码的各个独立部分进行验证,确保它们在预期情况下能够正确工作。JSUnit是专为JavaScript设计的一个单元测试框架,它使得JavaScript应用程序的...
**Sazerac:JavaScript数据驱动单元测试框架** Sazerac是一个专为JavaScript开发设计的数据驱动单元测试框架。在软件开发中,单元测试是确保代码质量的重要环节,它允许开发者独立地测试程序的各个部分,确保它们按...
JavaScript 单元测试是软件开发过程中不可或缺的一部分,它主要用于确保代码的各个独立模块按预期工作。jsUnit 是一个专门用于 JavaScript 的单元测试框架,版本 2.2 提供了更稳定和强大的测试支持。在本篇文章中,...
总结,本资源提供的Karma和Jasmine集成的单元测试代码,对于理解如何有效地进行JavaScript单元测试非常有帮助。通过学习和实践这些例子,开发者能够掌握测试驱动开发的理念,提升代码质量和维护性。
《编写可靠的Javascript代码 测试驱动开发Javascript商业软件》分为5个部分:第Ⅰ部分“奠定坚实的基础”涵盖了软件工程的关键概念,例如SOLID和DRY原则,还讨论了单元测试和测试驱动开发的优点。...
在JavaScript开发中,单元测试是非常重要的,因为JavaScript代码通常都是客户端的逻辑,需要在浏览器中运行。 在Web项目中,大部分的逻辑都是客户端的页面逻辑,这些逻辑需要测试。测试这些逻辑可以使用Selenium,...
JavaScript单元测试工具概述 在软件开发中,单元测试是一种确保代码质量的重要手段。随着Web应用程序客户端的兴起,对JavaScript进行单元测试变得尤为必要。本文将概述使用QUnit、YUI Test和JSTestDriver等工具对...
JavaScript单元测试工具JS Test Driver是一种高效且方便的测试框架,它允许开发者在无需打开浏览器的情况下进行JavaScript代码的单元测试,类似于Java的单元测试方式。这一工具显著提升了开发效率,减少了对浏览器...
本书《JavaScript单元测试》由Packt Publishing出版社出版,是Hazem Saleh所著,首次出版于2013年1月。全书共190页,涵盖了使用Jasmine、YUITest、QUnit和JsTestDriver等流行的JavaScript单元测试框架的实践指南。...
单元测试是软件开发过程中的重要环节,主要用于验证代码的各个独立模块是否按预期工作。源代码则是程序员编写的程序文本,包含了实现特定功能的指令。在这个压缩包文件中,"src"目录很可能是包含了用于单元测试的源...
本书分为5个部分: 第Ⅰ部分“奠定坚实的基础”涵盖了软件工程的关键概念,例如SOLID和DRY原 则,还讨论了单元测试和测试驱动开发的优点。 在第Ⅱ部分“测试基于模式的代码”中,我们描述并使用测试驱动开发创建了 ...
本文将探讨如何集成多浏览器的JavaScript单元测试工具,以确保代码在多种浏览器环境下都能正常工作。 **选择内核** 在实现多浏览器测试时,我们需要考虑各种浏览器的内核。常见的浏览器内核有: 1. **Trident** -...
这个压缩包“JavaScript_用单元测试收集最常见的JS面试问题.zip”显然是为了帮助求职者准备JavaScript面试,特别是涉及到单元测试的部分。以下是一些相关的JavaScript和单元测试知识点: 1. **JavaScript基础**:...
JavaScript单元测试覆盖率统计工具 JavaScript 单元测试覆盖率统计工具是指使用JavaScript Coverage 工具来检测 JavaScript 代码的单元测试覆盖率。该工具可以完整统计JavaScript 代码的覆盖率,让开发者简单方便...
单元测试的代码覆盖率统计是衡量测试用例好坏的一个方法,尤其是在多人合作的情况下,它可以在后期维护时候牵一发而动全身的代码修改中起到至关重要的检测作用。代码覆盖率统计可以从四个维度来衡量:行覆盖率、函数...
作者在代码中使用了QUnit作为测试框架,QUnit是一个广泛使用的JavaScript单元测试框架。此外,代码中还提到了引用了Flight.js和KMock.js文件,这可能意味着KMock是一个独立的脚本文件,需要与测试文件一起使用。 ...
8. **代码生成在实践中的应用**:在开发API、数据库模型、单元测试等方面,代码自动生成工具能帮助开发者快速生成符合规范的代码基础结构,使他们能够专注于业务逻辑,而不是重复的基础建设工作。 9. **最佳实践与...
高效的JavaScript代码单元测试方法!一个损坏的JavaScript代码示例Web应用程序面临的一个最大挑战是支持不同版本的Web浏览器。能在Safari上运行的JavaScript代码不一定能在WindowsInternetExplorer(IE)、Firefox或...