`
高级java工程师
  • 浏览: 410405 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

最近发现JUnit测试javascript很好用

阅读更多
Jsunit 就是 Junit 的javascript 版本,下载并解压Jsunit zip,大部分的核心文件都在 jsunit/app 目录下,
两个最基本的文件:
. jsUnitCore.js — 每个测试文件都要引用它
. testRunner.html — 用来运行具体的jsunit 测试

(1) 起步例子:
在Jsunit解压后的同级目录下建立两个文件,目录结构:
|– jsunit
|– test.html

写完后运行 jsunit/testRunner.html,在页面中选择test.html, 点击run,可以看到测试结果信息。

// test.html 测试文件

查看源代码打印帮助
01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

02 <HTML>  

03 <HEAD>  

04 <TITLE> New Document </TITLE>  

05 <script language="JavaScript"  

06 src="app/jsUnitCore.js"></script>  

07 <script language="JavaScript">  

08 function addTwoNumbers(value1, value2){  

09     return parseInt(value1) + parseInt(value2);  

10 }  

11 function testValidArgs()  

12 {  

13     assertEquals("2 + 2 is 4",  

14     4, addTwoNumbers(2, 2));  

15 }  

16 function testWithNegativeNumbers()  

17 {  

18     assertEquals("-2 + -2 is -4",  

19     -4, addTwoNumbers(-2, -2));  

20 }  

21 function exposeTestFunctionNames()  

22 {  

23     var tests = new Array(2);  

24     tests[0] = "testValidArgs";  

25     tests[1] = "testWithNegativeNumbers";  

26     return tests;  

27 }  

28 </script>  

29 </HEAD>  

30    

31 <BODY>  

32 test page for addTwoNumbers(value1, value2);  

33 </BODY>  

34 </HTML> 




通常以”test”开头的测试函数会被自动发现,但如果没有发现,就需要我们用exposeTestFunctionNames 函数来显示指定测试函数。

(2) setUpPage()

jsunit 包含了一次性启动方法,setUpPage() 只对每个测试页调用一次,即在所有测试函数调用之前调用,适于做预处理,但要注意在setUpPage()最后一行要把 setUpPageStatus 变量设置为 “complete”, 如:
var arg1;
var arg2;

function setUpPage(){
arg1 = 2;
arg2 = 2;
setUpPageStatus = “complete”;
}




(3) 测试集

测试集把不同的测试页分组组织,其中包含测试页或其他测试集,他们会按照顺序执行。
注意点:
. 测试集中不能包含任何测试函数
. 必须包含一个返回 jsUnitTestSuite 对象的 suite 函数
. 有两个方法添加测试页:addTestPage(testPage) addTestSuite(testSuite), 在添加测试页时要注意路径,应是相对于testRunner.html 的

例子:

查看源代码打印帮助
01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

02 <HTML>  

03 <HEAD>  

04 <TITLE> New Document </TITLE>  

05 <script language="JavaScript"  

06 src="app/jsUnitCore.js"></script>  

07 <script language="JavaScript">  

08 function sampleSuite()  

09 {  

10 var sampleSuite = new top.jsUnitTestSuite();  

11 sampleSuite.addTestPage("../test.html");  

12 return sampleSuite;  

13 }  

14 function suite()  

15 {  

16 var testSuite = new top.jsUnitTestSuite();  

17 testSuite.addTestSuite(sampleSuite());  

18 testSuite.addTestPage("../test.html");  

19 return testSuite;  

20 }  

21 </script>  

22 </HEAD>  

23    

24 <BODY>  

25 </BODY>  

26 </HTML> 




(4) 日志和跟踪
运行testRunner.html时会发现他有 Trace level 项,用于现实我们在测试方法中的日志信息,包含3个函数:
warn(message, [value])
inform(message, [value])
debug(message, [value])

JsUnit下载地址:http://sourceforge.net/projects/jsunit/
分享到:
评论

相关推荐

    json_jackson_junit_demo.zip

    Jackson库提供了这些功能,同时支持Junit测试来验证转换的正确性。`json_jackson_junit_demo.zip`中的示例应该就是展示了如何使用Jackson进行这些操作。 1. **JSON与Bean转换**: Jackson库中的`ObjectMapper`类是...

    更好的代码:使用单元测试

    在大多数编程语言中,都有相应的单元测试框架,如Java的JUnit,Python的unittest(与文件名对应),C#的NUnit,JavaScript的Mocha等。这些工具简化了编写、组织和执行单元测试的过程。 以下是对单元测试的详细说明...

    实现进行单元测试时可以测试单一测试方法

    除了JUnit和unittest,还有很多其他单元测试框架,如Python的pytest,JavaScript的Jest等。它们都提供了类似的机制,帮助开发者有效地测试单一方法。 为了自动化测试运行,开发者可以利用构建工具,如Maven(Java)...

    几个比较实用的JavaScript 测试及效验工具

    JSLint对于发现潜在的问题非常有效,比如变量名的拼写错误、不恰当的逗号使用、未使用的变量等,它都能准确指出来。 JsUnit是一款在客户端执行单元测试的JavaScript框架。由于它与JUnit类似,有时也被看作是JUnit的...

    GWTTestcase的单元测试

    Activiti是一个开源的业务流程管理系统(BPMN 2.0)和工作流引擎,它与GWT可以很好地集成,用于构建企业级的应用程序。因此,这篇博文可能不仅讨论了GWT的单元测试,还可能涉及了如何在GWT应用中集成和测试Activiti...

    httpunit测试包

    2. **js.jar**:这是Rhino JavaScript引擎的实现,它允许HttpUnit执行JavaScript代码,这对于测试网页中涉及JavaScript交互的部分非常重要,因为很多现代网页功能都依赖于JavaScript。 3. **httpunit.jar**:这是...

    单元测试,firefox浏览器+selenium录入回放测试

    Selenium IDE是一个用于录制和回放测试的Firefox插件,它可以方便地创建和编辑测试脚本,对于初学者来说是一个很好的起点。 接下来,我们谈谈JMeter。JMeter是一款强大的性能测试工具,常用于测试Web应用的负载和...

    二线城市大厂测试,基础入门

    例如,JUnit 是Java开发中常用的单元测试框架,而Selenium 则是用于Web应用自动化测试的工具,支持多种浏览器。此外,Mockito是模拟对象框架,用于隔离单元测试,避免外部依赖的影响。 在二线城市的大厂中,测试...

    软件测试教学视频(共30G)

    6. **测试框架**:例如,介绍JUnit、pytest、Mocha(JavaScript)和TestNG(Java)的使用方法,以及如何创建和组织测试用例。 7. **测试策略和设计**:包括等价类划分、边界值分析、因果图等测试设计技术,以及如何...

    基于JavaScript的农作物病害识别系统设计源码.zip

    10. **测试工具**:JUnit、Mocha或Jest等测试框架可能被用来编写单元测试和集成测试,保证代码质量。 通过对这个源码的深入研究,你可以学习到JavaScript全栈开发的基本流程,包括前端交互设计、后端API设计、图像...

    jsunit.rar

    JavaScript Unit Testing,通常简称为JSUnit,是一种针对JavaScript代码进行单元测试的框架,类似于Java中的JUnit工具。在软件开发过程中,单元测试是确保代码质量、可维护性和避免bug的重要环节。JSUnit允许开发者...

    自动化测试解决方案实践分享.rar

    这个PDF文档很可能会深入探讨这些话题,并给出具体的操作步骤、示例代码和实践经验,帮助读者更好地理解和应用自动化测试技术,提升软件项目的质量和效率。对于任何希望提升测试自动化水平的人来说,都是不可多得的...

    测试用的项目.zip

    无论是学习新技能,还是在团队中协作,这样的压缩包都是一个很好的实践资源。通过阅读和执行"如何运行这两个小项目.txt"中的步骤,我们可以深入了解项目的运作机制,提升我们的开发和测试能力。

    github-issue-junit:阅读来自Travis的JUnit HTML输出并在GitHub上的一个未解决问题上添加评论

    设置Travis-ci作业以运行JUnit测试,将输出另存为xml并将测试结果上传到。 请参阅和 。 在gh-pages分支中,以帧格式运行ant junitreport目标。 参见 。 最主要的是在可访问的位置创建JUnit HTML摘要页面。 在您的...

    Web自动化测试工具SELENIUM.rar

    它能够捕获浏览器中的用户交互并将其转化为Selenium命令,这对于初学者来说是一个很好的起点。 Selenium的优势: - 跨平台和跨浏览器支持:Selenium可以在Windows、Linux、Mac OS等操作系统上运行,并兼容多种主流...

    在线英语词汇量测试(在线考试系统)

    9. **单元测试与集成测试**:为了保证代码质量,开发者可能使用JUnit或其他测试框架进行了单元测试,以验证各个模块的功能;同时,可能通过集成测试确保各组件协同工作。 10. **版本控制**:在项目开发过程中,版本...

    个人简历_测试

    - **单元测试工具**:了解JUnit等单元测试工具的使用。 - **移动平台测试**:熟悉Android和iOS平台的应用测试方法和技术。 #### 三、教育背景与培训经历 - **教育背景**: - 时间:2008年9月至2011年6月 - ...

    很好的购物网站

    9. **测试与调试**:学习如何使用单元测试工具(如JUnit)和调试技巧来检查和修复代码中的错误。 10. **版本控制**:使用Git等版本控制系统进行协同开发和代码管理。 综上所述,"很好的购物网站"作为一个学习平台...

    httpunit-1.7

    4. **XML和SOAP支持**:对于XML和基于SOAP的服务,HttpUnit也能很好地进行测试。 5. **易于集成**:HttpUnit与JUnit、TestNG等测试框架兼容,方便构建自动化测试套件。 三、使用HttpUnit进行测试 1. **创建测试...

Global site tag (gtag.js) - Google Analytics