mass Framework spec模块v5

这是我的测试框架的第8代,前三代是前一个体系,名为abut。spec混杂了Qunit与BDD的一种语法,但更简巧。

主要改进是用户界面,更方便地定位出错的断言。为了防止某一个断言抛错而影响整个测试,这次还引用window.onerror来吞掉所有错误。

使用ol列表直接列举要测试逻辑,代替直接显示源码,不对不怎么会编码的测试人员更为友好。引入\u2714与\u2716这两个字符让断言结果更醒目。

下面就是显示图:

mass Framework spec模块v5

用法:

define([ "$spec,mass" ], function () {
     $.log( "已加载test/mass模块" , 7)
 
     describe( 'mass' , {
         type: function () {
             expect($.type( "string" )).eq( "String" , "取字符串的类型" );
             expect($.type(1)).eq( "Number" , "取数字的类型" );
             expect($.type(!1)).eq( "Boolean" , "取布尔的类型" );
             expect($.type(NaN)).eq( "NaN" , "取NaN的类型" );
             expect($.type(/test/i)).eq( "RegExp" , "取正则的类型" );
             expect($.type($.noop)).eq( "Function" , "取函数的类型" );
             expect($.type( null )).eq( "Null" , "取null的类型" );
             expect($.type({})).eq( "Object" , "取对象的类型" );
             expect($.type([])).eq( "Array" , "取数组的类型" );
             expect($.type( new  Date)).eq( "Date" , "取日期的类型" );
             expect($.type(window)).eq( "Window" , "取window的类型" );
             expect($.type(document)).eq( "Document" , "取document的类型" );
             expect($.type(document.documentElement)).eq( "HTML" , "取HTML节点的类型" );
             expect($.type(document.body)).eq( "BODY" , "取BODY节点的类型" );
             expect($.type(document.childNodes)).eq( "NodeList" , "取节点集合的类型" );
             expect($.type(document.getElementsByTagName( "*" ))).eq( "NodeList" , "取节点集合的类型" );
             expect($.type(arguments)).eq( "Arguments" , "取参数对象的类型" );
             expect($.type(1, "Number" )).eq( true , "测试$.type的第二个参数" );
         }
    });
})

源码

新一年,测试框架会继续强化。单元测试对一个框架的升级与编写是极其重要的。在没有单元测试的情况下进行重构等于自寻死路。

 
 
 
标签:  javascriptmass

你可能感兴趣的:(JavaScript,mass)