zoukankan      html  css  js  c++  java
  • exception

    1.捕获异常
       try {
       //lots of code...
       }
       catch(error)(
       //user error...
       //catch 代码块不是必需的
       )finally{
       //wrap up...
       //finally代码块不是必需的,但是finally代码块不论有没有异常都一定会执行的;
       }
      
       注意:可以使用instanof 运算符和条件语句来捕捉异常的类型
     2.抛出异常
       问题发生时,javascript会引发异常:①计算机自动抛出异常,②我们抛出异常
         我们抛出异常:
           throw something;//something:可以是一个数字,一个字符串,一个error对象(new Error('has a error !'))。
      也可以自定义异常对象:
        var error={
          name:'Division Error ',
          message:'Can not divide by zero.'
        }
        throw error;

    3.断言(Assertion)-----'确定情况就是如此,标出不应该发生的错误'
          javascriptz中没有定义预定义的断言方法;
         
         方法一:自行编写
          /**
       自定义的断言函数
       */
        function assert(expression,message){
               if(!expression){
                     throw {
                         name:'Asserttion Exception',
                         massge:message
                      }
                }
           }   
      方法二:Firebug自带的断言方法,调用assert()方法,它是console对象的一部分:
         4.单元测试---->>工具有:JSUnity ,jquery和其他框架也有单元测试插件等
            JSUnity使用:
               没有简单的assert()方法,但可以使用更专业的方法:
            assertTrue()
         assertFalse()
         assertIdentical()
         assertNotIdentical()
         assertEqual()
         assertNotEqual()
         assertMatch()
         assertNotMatch()
         ...
         等等
               第一步:下载jsUnity程序库,并包含到要测试的HTML页面中
         第二步:定义测试
              定义一系列测试最佳方法是创建一个测试套件(Suite)。测试套件定义方法有很多。
       如:
           //1.定义一个包围函数
        var myTests=function(){
        
        //2.在包围函数中,定义代表单独测试的子函数(可以定义多个,但是函数名称必须以"test"开始)
           function testSomeMethod(){
                //3.调用断言方法(所以断言函数都定义在jsUnity.assertions中)
                 jsUnity.assertions.assertNotUndefined(myVar);
                 jsUnity.assertions.assertNotNaN(volume);
                             ...      
           }      
        }   console.assert(!NaN('A'),'A is  not  a  number');

      第三步:调用run()方法运行测试
        var  results=jsUnity.run(myTests);
             //results变量有多个反映结果的属性:
                total:测试运行次数
          passed:测试通过的次数
          failed:测试失败的次数
          duration:执行测试所花费的时间

      第四步:记录结果
              为了创建一个根据报告测试结果的记录函数,将函数定义赋予jsUnity.log属性:
               jsUnity.log=function(message){
            //Do something with message
            ...       
            }
      补充:  setup()//在测试之前执行某些准备工作
              tearDown()//在测试运行之后执行某些资源销毁工作
            这两个函数可以在测试套件中定义:
             var  myTests=function(){
              function setup(){
           // Do  these things here.
           }
           function tearDown(){
           //Now  do  these
           }
           function testSomeMethod(){      
           //单独测试的子函数(可以定义多个这样类似的方法)
           }           
          };

  • 相关阅读:
    wonderful life
    .net 4.5 webform 提取ModelState错误信息
    asp.net core Theme 中间件
    asp.net mvc 动态编译生成Controller
    asp.net mvc中换肤机制类库 ThemedViewEngines
    vs code 添加jquery的智能提示
    vs2017 iisexpress 绑定自定义域名
    asp.net Mvc 动态创建Controller
    查询Windows api
    预先创建占用一定磁盘空间的文件(使用C#)
  • 原文地址:https://www.cnblogs.com/xiaowei-blog/p/3949744.html
Copyright © 2011-2022 走看看