`

如何给Javascript代码做单元测试

阅读更多

javascript是很容易让人头疼的语言,不过如果能引入单元测试,那你的头疼似乎能得到些许的减缓。现在已经有一些javascript的单元测试工具存在了,今天我要介绍的是Dr Nic Williams开发的

JsUnitTest – JavaScript Unit Testing framework

 

JsUnitTest是一个纯用javascript开发的单元测试框架,通过引入它,你在浏览器中就可以运行你的单元测试代码。

 

JsUnitTest的使用:

1、从http://jsunittest.com/ 下载最新的JsUnitTest代码。

2、创建一个测试用的html,在这个html中引入你要测试的类库和JsUnitTest的js和css文件,并建立一个id为testlog的div块用来显示测试结果。

3、编写单元测试

  new Test.Unit.Runner({
    setup: function() {
    },
    
    teardown: function() {
    },
    
    testMethod1: function() { with(this) {
    }},
  }); 
 

 

以下是一个完整的单元测试示例:

<html>
<head>
  <title>test</title>
  <script src="jsunittest.js" type="text/javascript"></script>
 <link rel="stylesheet" href="unittest.css" type="text/css" />
  <script>
      var MyObject = function(){};
    MyObject.prototype.method1 = function(){return 1;};
  </script>
</head>
<body>
 <div id="testlog"></div>
<script type="text/javascript">
  new Test.Unit.Runner({
      myObj: null,
    setup: function() {
        this.myObj = new MyObject();
    },
   
    teardown: function() {
      this.myObj = null;
    },
   
    testMethod1: function() { with(this) {
      assert(this.myObj.method1() == 2, "method1 return must be 2.");
    }},
  });
</script>
</body>
</html>


 

 

JsUnitTest支持的断言方法:

assert: function(expression, message)
assertEqual: function(expected, actual, message)
assertNotEqual: function(expected, actual, message)
assertEnumEqual: function(expected, actual, message)
assertEnumNotEqual: function(expected, actual, message)
assertHashEqual: function(expected, actual, message) 
assertHashNotEqual: function(expected, actual, message)
assertIdentical: function(expected, actual, message)
assertNotIdentical: function(expected, actual, message)
assertNull: function(obj, message)
assertNotNull: function(obj, message)
assertUndefined: function(obj, message)
assertNotUndefined: function(obj, message)
assertNullOrUndefined: function(obj, message)
assertNotNullOrUndefined: function(obj, message)
assertMatch: function(expected, actual, message)
assertNoMatch: function(expected, actual, message)
assertHasClass: function(element, klass, message)
assertHidden: function(element, message)
assertInstanceOf: function(expected, actual, message)
assertNotInstanceOf: function(expected, actual, message)
assertRespondsTo: function(method, obj, message) 
assertRaise: function(exceptionName, method, message)
assertNothingRaised: function(method, message)
assertVisible: function(element, message) 
assertNotVisible: function(element, message)
assertElementMatches: function(element, expression, message)
 

 

 


分享到:
评论

相关推荐

    jasmine-JavaScript单元测试工具

    **jasmine - JavaScript 单元测试工具** jasmine是一个广泛使用的开源工具,专门设计用于JavaScript的单元测试。这个框架提供了一套完整的测试环境,使得开发者能够有效地验证他们的JavaScript代码是否按照预期工作...

    sazerac一个JavaScript数据驱动单元测试

    Sazerac提供了一种简洁的API,使开发者能够快速地为JavaScript代码编写测试。 ### Sazerac框架特性 1. **简洁的API**:Sazerac的API设计简单直观,使得编写和阅读测试代码变得轻松。 2. **可扩展性**:框架支持...

    编写可靠的javascript代码测试驱动开发javascript商业软

    《编写可靠的Javascript代码 测试驱动开发Javascript商业软件》分为5个部分:第Ⅰ部分“奠定坚实的基础”涵盖了软件工程的关键概念,例如SOLID和DRY原则,还讨论了单元测试和测试驱动开发的优点。...

    JSUnit Javascript单元测试

    解压后,你可以看到如何实际应用JSUnit进行JavaScript代码的单元测试。通过学习这些示例,你将更好地理解和掌握JSUnit的使用。 总结一下,JSUnit是一个强大的JavaScript单元测试框架,它提供了一种结构化的测试方法...

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

    标题中的“更好的代码:使用单元测试”提示我们讨论的核心是单元测试在软件开发中的重要性和实践。单元测试是一种软件质量保证方法,它允许开发者对程序的各个独立组件(即单元)进行验证,确保它们按预期工作。这...

    JavaScript单元测试Jasmine源代码

    JavaScript单元测试是软件开发过程中的重要环节,它用于验证代码的各个独立部分(即单元)是否按预期工作。Jasmine是一款流行的JavaScript测试框架,尤其适用于前端开发者,它提供了丰富的断言库和易于理解的语法,...

    javascript单元测试 jsunit2.2

    JavaScript 单元测试是软件开发过程中不可或缺的一部分,它主要用于确保代码的各个独立模块按预期工作。jsUnit 是一个专门用于 JavaScript 的单元测试框架,版本 2.2 提供了更稳定和强大的测试支持。在本篇文章中,...

    JavaScript Unit Testing 单元测试 PDF

    该书适合那些希望提高JavaScript代码质量、确保软件质量的前端开发者和测试工程师阅读。 最后,版权信息表明,本书的任何部分未经出版商书面许可,不得以任何形式复制或传播。书中信息是基于作者和编辑的最佳知识和...

    《编写可靠的JAVASCRIPT代码 测试驱动开发JAVASCRIPT商业软件》PDF

    本书分为5个部分: 第Ⅰ部分“奠定坚实的基础”涵盖了软件工程的关键概念,例如SOLID和DRY原 则,还讨论了单元测试和测试驱动开发的优点。 在第Ⅱ部分“测试基于模式的代码”中,我们描述并使用测试驱动开发创建了 ...

    JavaScript对象封装与单元测试.pdf

    在JavaScript开发中,单元测试是非常重要的,因为JavaScript代码通常都是客户端的逻辑,需要在浏览器中运行。 在Web项目中,大部分的逻辑都是客户端的页面逻辑,这些逻辑需要测试。测试这些逻辑可以使用Selenium,...

    JavaScript单元测试工具安装说明书

    JavaScript单元测试工具JS Test Driver是一种高效且方便的测试框架,它允许开发者在无需打开浏览器的情况下进行JavaScript代码的单元测试,类似于Java的单元测试方式。这一工具显著提升了开发效率,减少了对浏览器...

    javascript测试.docx

    为此,需要选择合适的单元测试工具,来确保JavaScript代码的质量。 QUnit入门 QUnit是一个流行的JavaScript单元测试框架,由jQuery团队开发。QUnit提供了一个简洁的API,允许开发者编写测试用例。使用QUnit,可以...

    JavaScript_用单元测试收集最常见的JS面试问题.zip

    这个压缩包“JavaScript_用单元测试收集最常见的JS面试问题.zip”显然是为了帮助求职者准备JavaScript面试,特别是涉及到单元测试的部分。以下是一些相关的JavaScript和单元测试知识点: 1. **JavaScript基础**:...

    单元测试 源代码

    单元测试是软件开发过程中的重要环节,主要用于验证代码的各个独立模块是否按预期工作。源代码则是程序员编写的程序文本,包含了实现特定功能的指令。在这个压缩包文件中,"src"目录很可能是包含了用于单元测试的源...

    软件测试 单元测试 单元测试 集成测试

    在进行这两种测试时,开发者可以利用各种工具,如JUnit(Java)、pytest(Python)和Mocha/Chai(JavaScript)等进行单元测试;对于集成测试,可以使用如Jenkins、Travis CI等持续集成工具来自动化测试流程。同时,...

    js单元测试覆盖率统计工具

    JavaScript 单元测试覆盖率统计工具是指使用JavaScript Coverage 工具来检测 JavaScript 代码的单元测试覆盖率。该工具可以完整统计JavaScript 代码的覆盖率,让开发者简单方便地了解自己代码的单元测试覆盖度。 ...

    测试入门--7单元测试

    首先,单元测试的目标是隔离和验证代码的各个独立部分,确保它们各自的功能正确无误。这样可以在早期阶段发现错误,降低了修复成本。通过编写针对每个单元的测试用例,开发者可以确保代码按照预期工作,并且在后续...

    有关单元测试的培训资料

    单元测试是对软件代码的独立部分进行验证的过程,它允许开发者隔离出代码的特定部分,检查其功能是否正确。这种测试通常由开发人员自己完成,以确保代码在添加新功能或修改现有功能时不会破坏原有的功能。 二、单元...

    多浏览器的单元测试工具 多浏览器集成的JavaScript单元测试工县 共28页.pdf

    本文将探讨如何集成多浏览器的JavaScript单元测试工具,以确保代码在多种浏览器环境下都能正常工作。 **选择内核** 在实现多浏览器测试时,我们需要考虑各种浏览器的内核。常见的浏览器内核有: 1. **Trident** -...

    karma单元测试代码(全)

    总结,本资源提供的Karma和Jasmine集成的单元测试代码,对于理解如何有效地进行JavaScript单元测试非常有帮助。通过学习和实践这些例子,开发者能够掌握测试驱动开发的理念,提升代码质量和维护性。

Global site tag (gtag.js) - Google Analytics