java script 单元测试JSUnit 使用
来源:互联网 发布:马蓉出轨的代价 知乎 编辑:程序博客网 时间:2024/05/29 18:20
Jsunit 就是 Junit 的javascript 版本,下载并解压Jsunit zip,大部分的核心文件都在 jsunit/app 目录下,两个最基本的文件:
. jsUnitCore.js -- 每个测试文件都要引用它
. testRunner.html -- 用来运行具体的jsunit 测试
(1) 起步例子:
在Jsunit解压后的同级目录下建立两个文件,目录结构:
|-- jsunit
|-- simple.js
|-- simple_test.html
写完后运行 jsunit/testRunner.html,在页面中选择simple_test.html, 点击run,可以看到测试结果信息。
// simple_test.html 测试文件
通常以"test"开头的测试函数会被自动发现,但如果没有发现,就需要我们用exposeTestFunctionNames 函数来显示指定测试函数。
(2) setUpPage()
jsunit 包含了一次性启动方法,setUpPage() 只对每个测试页调用一次,即在所有测试函数调用之前调用,适于做预处理,但要注意在setUpPage()最后一行要把 setUpPageStatus 变量设置为 “complete”, 如:
(3) 测试集
测试集把不同的测试页分组组织,其中包含测试页或其他测试集,他们会按照顺序执行。
注意点:
. 测试集中不能包含任何测试函数
. 必须包含一个返回 jsUnitTestSuite 对象的 suite 函数
. 有两个方法添加测试页:addTestPage(testPage) addTestSuite(testSuite), 在添加测试页时要注意路径,应是相对于testRunner.html 的
例子:
(4) 日志和跟踪
运行testRunner.html时会发现他有 Trace level 项,用于现实我们在测试方法中的日志信息,包含3个函数:
. jsUnitCore.js -- 每个测试文件都要引用它
. testRunner.html -- 用来运行具体的jsunit 测试
(1) 起步例子:
在Jsunit解压后的同级目录下建立两个文件,目录结构:
|-- jsunit
|-- simple.js
|-- simple_test.html
写完后运行 jsunit/testRunner.html,在页面中选择simple_test.html, 点击run,可以看到测试结果信息。
- // simple.js 被测试的javascript文件
- function addTwoNumbers(value1, value2){
- return parseInt(value1) + parseInt(value2);
- }
- <span style="font-size:16px;">// simple.js 被测试的javascript文件
- function addTwoNumbers(value1, value2){
- return parseInt(value1) + parseInt(value2);
- }</span>
// simple_test.html 测试文件
- <!DOCTYPE HTML PUBLIC
- "-//W3C//DTD HTML 4.0 Transitional//EN">
- <HTML>
- <HEAD>
- <TITLE> New Document </TITLE>
- <script language="JavaScript"
- src="jsunit/app/jsUnitCore.js"></script>
- <script language="JavaScript"
- src="simple.js"></script>
- <script language="JavaScript">
- function testValidArgs()
- {
- assertEquals("2 + 2 is 4",
- 4, addTwoNumbers(2, 2));
- }
- function testWithNegativeNumbers()
- {
- assertEquals("-2 + -2 is -4",
- -4, addTwoNumbers(-2, -2));
- }
- function exposeTestFunctionNames()
- {
- var tests = new Array(2);
- tests[0] = "testValidArgs";
- tests[1] = "testWithNegativeNumbers";
- return tests;
- }
- </script>
- </HEAD>
- <BODY>
- test page for addTwoNumbers(value1, value2);
- </BODY>
- </HTML>
- <span style="font-size:16px;"><!DOCTYPE HTML PUBLIC
- "-//W3C//DTD HTML 4.0 Transitional//EN">
- <HTML>
- <HEAD>
- <TITLE> New Document </TITLE>
- <script language="JavaScript"
- src="jsunit/app/jsUnitCore.js"></script>
- <script language="JavaScript"
- src="simple.js"></script>
- <script language="JavaScript">
- function testValidArgs()
- {
- assertEquals("2 + 2 is 4",
- 4, addTwoNumbers(2, 2));
- }
- function testWithNegativeNumbers()
- {
- assertEquals("-2 + -2 is -4",
- -4, addTwoNumbers(-2, -2));
- }
- function exposeTestFunctionNames()
- {
- var tests = new Array(2);
- tests[0] = "testValidArgs";
- tests[1] = "testWithNegativeNumbers";
- return tests;
- }
- </script>
- </HEAD>
- <BODY>
- test page for addTwoNumbers(value1, value2);
- </BODY>
- </HTML></span>
通常以"test"开头的测试函数会被自动发现,但如果没有发现,就需要我们用exposeTestFunctionNames 函数来显示指定测试函数。
(2) setUpPage()
jsunit 包含了一次性启动方法,setUpPage() 只对每个测试页调用一次,即在所有测试函数调用之前调用,适于做预处理,但要注意在setUpPage()最后一行要把 setUpPageStatus 变量设置为 “complete”, 如:
- var arg1;
- var arg2;
- function setUpPage(){
- arg1 = 2;
- arg2 = 2;
- setUpPageStatus = "complete";
- }
- <span style="font-size:16px;">var arg1;
- var arg2;
- function setUpPage(){
- arg1 = 2;
- arg2 = 2;
- setUpPageStatus = "complete";
- }</span>
(3) 测试集
测试集把不同的测试页分组组织,其中包含测试页或其他测试集,他们会按照顺序执行。
注意点:
. 测试集中不能包含任何测试函数
. 必须包含一个返回 jsUnitTestSuite 对象的 suite 函数
. 有两个方法添加测试页:addTestPage(testPage) addTestSuite(testSuite), 在添加测试页时要注意路径,应是相对于testRunner.html 的
例子:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
- <HTML>
- <HEAD>
- <TITLE> New Document </TITLE>
- <script language="JavaScript"
- src="jsunit/app/jsUnitCore.js"></script>
- <script language="JavaScript"
- src="simple.js"></script>
- <script language="JavaScript">
- function sampleSuite()
- {
- var sampleSuite = new top.jsUnitTestSuite();
- sampleSuite.addTestPage("../simple_test.html");
- return sampleSuite;
- }
- function suite()
- {
- var testSuite = new top.jsUnitTestSuite();
- testSuite.addTestSuite(sampleSuite());
- testSuite.addTestPage("../simple_test.html");
- return testSuite;
- }
- </script>
- </HEAD>
- <BODY>
- </BODY>
- </HTML>
- <span style="font-size:16px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
- <HTML>
- <HEAD>
- <TITLE> New Document </TITLE>
- <script language="JavaScript"
- src="jsunit/app/jsUnitCore.js"></script>
- <script language="JavaScript"
- src="simple.js"></script>
- <script language="JavaScript">
- function sampleSuite()
- {
- var sampleSuite = new top.jsUnitTestSuite();
- sampleSuite.addTestPage("../simple_test.html");
- return sampleSuite;
- }
- function suite()
- {
- var testSuite = new top.jsUnitTestSuite();
- testSuite.addTestSuite(sampleSuite());
- testSuite.addTestPage("../simple_test.html");
- return testSuite;
- }
- </script>
- </HEAD>
- <BODY>
- </BODY>
- </HTML></span>
(4) 日志和跟踪
运行testRunner.html时会发现他有 Trace level 项,用于现实我们在测试方法中的日志信息,包含3个函数:
- warn(message, [value])
- inform(message, [value])
- debug(message, [value])
0 0
- java script 单元测试JSUnit 使用
- java script 单元测试JSUnit 使用
- javascript单元测试(Jsunit应用)
- javascript 单元测试工具 JsUnit
- JavaScript单元测试框架JsUnit基本介绍和使用
- 18、JavaScript单元测试框架jsUnit
- jsunit使用初探
- 使用jsunit测试js
- java单元测试-junit使用
- Java 6 Script Engine使用
- java单元测试(使用junit4)
- java单元测试(使用junit)
- 使用JMockit编写java单元测试
- Java使用junit进行单元测试
- java单元测试(使用junit)
- java 使用JUnit4进行单元测试
- java单元测试(使用junit)
- java单元测试(使用junit)
- unsigned long long类型与long long类型
- Android调试adb端口被占用
- RedHat9通过Host-only配置网络连接(图解步骤完全版)
- 关联容器
- 再探Java基础——String.format(String format, Object… args)的使用
- java script 单元测试JSUnit 使用
- 关于struts2里的ognl与值栈
- CSS属性总结
- unity 使用Dotfuscator给dll混淆(原)
- @RequestMapping地址映射
- 每周一记之初学c/c++(1)
- RMQ问题
- context.startActivity(Intent intent)方法启动activity
- 如何将Mindjet的宏放到自定义功能区