如果你已经了解JUnit或者PyUnit, 那么你应该不会花超过10分钟学会使用JSUnit, JSUnit是用来对Javascript代码做单元测试的测试框架,是JS版本的JUnit。
通过下面5个简单的步骤你可以很快学会使用JSUnit:
(1) 下载JSUnit的压缩包然后解压到本地目录。
http://sourceforge.net/projects/jsunit/files/latest/download
(2) 创建一个简单的Javascript函数计算a和b两个数的和,然后把这段code存到本地文件’myAdd.js’
//myAdd.js
Function add(x,y) {
Return x+y;
}
(3) 创建一个html文件名字为’testMyAdd.html’。
在这个文件的开头,将JSUnit的源文件和你刚才编写的’myAdd.js’引入进来。在body的部分,写出像下面一样的测试代码。和Junit和PyUnit一样,测试方法一般都以test开头。
<html>
<head>
<title>Test my function</title>
<script type="text/javascript" src="junit/jsUnitCore.js"></script>
<script type="text/javascript" src="myAdd.js"></script>
</head>
<body>
<script type="text/javascript">
function setUp() {
//alert("test");
}
function tearDown() {
//alert("test");
}
function testAdd() {
assertEquals("", 3, add(2, 1));
}
function testAdd2() {
assertNotEquals("", 0, add(2, 1));
}
</script>
</body>
</html>
(4) 在第一步的解压文件目录中,找到文件“testRunner.html”并且用浏览器打开。
(5) 在打开的页面中,输入你在第三步创建的testAdd.html文件地址然后点击run按钮。当testRunner.html加载页面的时候,它会自动找到你写的test case 方法然后顺序执行。
另外,JSUnit的包中也包含了一些对框架代码(jsUnitCore.js)的测试页面,你可以把它们的URL添加到需要run的url中执行。
比如在jsUnitCore.js中有一个trim方法,是去掉字符首尾的空格:
JsUnit.Util.trim = function(string) {
if (string == null)
return null;
var startingIndex = 0;
var endingIndex = string.length - 1;
var singleWhitespaceRegex = /\s/;
while (string.substring(startingIndex, startingIndex + 1).match(singleWhitespaceRegex))
startingIndex++;
while (string.substring(endingIndex, endingIndex + 1).match(singleWhitespaceRegex))
endingIndex--;
if (endingIndex < startingIndex)
return '';
return string.substring(startingIndex, endingIndex + 1);
}
测试代码如下:
function testTrim() {
assertEquals(null, JsUnit.Util.trim(null));
assertEquals(null, JsUnit.Util.trim(JSUNIT_UNDEFINED_VALUE));
assertEquals("", JsUnit.Util.trim(""));
assertEquals("", JsUnit.Util.trim(" "));
assertEquals("string", JsUnit.Util.trim("string"));
assertEquals("str ing", JsUnit.Util.trim("str ing"));
assertEquals("string", JsUnit.Util.trim(" string "));
assertEquals("string", JsUnit.Util.trim("\r\n string \r\n"));
}
通过编写类似的js 单元测试代码,你可以在有效分离js的页面和逻辑的基础上,很好的进行对逻辑部分的单元测试。
分享到:
相关推荐
在本篇文章中,我们将深入探讨 JavaScript 单元测试的重要性和 jsUnit 2.2 的关键特性,以及如何有效地使用它进行测试。 首先,理解什么是单元测试至关重要。单元测试是对软件中的最小可测试单元进行检查和验证,...
5. 浏览器兼容:JSUnit 可以在多种浏览器环境中运行,包括 Internet Explorer、Firefox、Chrome 等,适应不同的开发环境。 在JSUnit 2.2 alpha 11 版本中,可能包含了一些针对早期JavaScript环境的优化和改进,以及...
5. **查看测试结果**:测试完成后,JSUnit会在浏览器中显示测试结果,包括通过的测试、失败的测试以及任何错误或异常。 尽管JSUnit在JavaScript单元测试领域有着重要的地位,但随着时间的发展,出现了许多其他的...
为了开始使用JSUnit,首先需要进行安装。根据提供的内容,可以通过以下步骤完成安装: 1. **下载JSUnit**:访问JSUnit的官方网站或其他可信赖的资源站点下载最新版本的JSUnit压缩包。 2. **解压JSUnit**:将下载好...
JsUnit是JavaScript的开源单元测试框架。它受到JUnit的启发,并完全用JavaScript编写。作为最流行的 JavaScript单元测试框架,它还提供了一些ant任务,使开发人员在持续集成服务器上构建时很容易运行测试套件。
很好的JavaScript测试工具,呵呵,首次发表望多多支持.
NULL 博文链接:https://llying.iteye.com/blog/258605
4. **运行测试**:使用JsUnit的测试运行器执行测试类,查看测试结果。 5. **修复问题**:根据测试报告,对失败的测试用例进行调试和修复,直到所有测试都通过。 6. **持续集成**:将JsUnit测试集成到持续集成流程...
要开始使用JSUnit,你需要创建测试用例类,继承自JSUnit提供的基础测试类,如`JSUnit.TestCase`。然后,你可以定义一系列测试方法,每个方法代表一个特定的测试点。这些方法通常以`test`开头,例如`testAddition`。...
JsUnit 的使用对于确保 JavaScript 代码的质量和可靠性至关重要,尤其是在开发复杂和大型的前端应用时。通过单元测试,开发者能够快速定位和修复代码中的错误,提高代码的可维护性和可扩展性。了解并熟练运用 JsUnit...
5. **文档和示例**:压缩包中的`docs`目录包含关于如何使用JsUnit的详细文档,`samples`目录则提供了示例代码,帮助开发者快速上手。 6. **第三方扩展和贡献**:`contrib`目录可能包含了社区成员提供的扩展或改进,...
5. **配置JsUnit运行配置**:在Eclipse的"Run Configurations"菜单中,创建一个新的JsUnit配置,指定你的测试类和浏览器(因为JsUnit需要在浏览器环境中执行)。 6. **运行测试**:一旦配置完成,点击运行按钮,...
通过使用JSunit,开发者可以在他们的JavaScript代码中实现测试驱动开发(TDD),确保代码质量,并且可以更方便地维护和重构代码。本篇JSunit入门教程将对JSunit的基本使用方法做一个简单的介绍。 首先,我们需要...
Eclipse 是一个广泛使用的集成开发环境(IDE),对于 JavaScript 开发者而言,其提供的 JsUnit 插件进一步增强了 JsUnit 的使用体验: 1. **集成开发环境**:Eclipse 插件将 JsUnit 整合到 IDE 中,允许开发者在...
为了隔离测试,可以使用JsUnit的模拟对象功能,替代真实对象,使得测试更加可控。例如,对于HTTP请求,可以模拟响应数据;对于数据库操作,可以模拟数据库返回值。 六、持续集成与自动化测试 为了确保每次代码更改...
在这个主题中,我们将深入探讨单元测试的重要性、原理以及如何使用 jsunit 这样的工具来进行单元测试。 首先,我们要明白软件开发中遇到的挑战。随着项目的迭代,软件需要不断添加新特性、修复错误、优化性能和重构...
1. **免费使用**:开发者可以无成本地使用和修改 JsUnit,不受商业限制。 2. **社区支持**:开源社区的贡献者们不断改进和维护 JsUnit,提供新的功能和修复问题。 3. **透明度**:源代码的开放性使得开发者能深入...
本篇笔记主要聚焦在JsUnit的使用方法和与Ajax基础的结合,通过实例来深入理解其工作原理。 一、JsUnit的基本概念 JsUnit的核心在于测试用例(Test Case)。每个测试用例由一系列测试方法组成,每个方法对应一个...
很好的JavaScript测试工具,呵呵,首次发表望多多支持.