<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>QUnit Example</title>
<script type="text/javascript" src="http://code.jquery.com/qunit/qunit-1.18.0.js"></script>
<script type="text/javascript" src="http://cdn.bootcss.com/jquery/2.1.4/jquery.min.js"></script>
<link type="text/css" rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.18.0.css" />
</head>
<body>
<div id="qunit"></div>

<div id="qunit-fixture"></div>

<!--

QUnit是一个强大的JavaScript单元测试框架,该框架是由jQuery团队的成员所开发,并且是jQuery的官方测试套件。Qunit是Jquery的单元测试框架,并且被广泛使用在各个项目中

-->

   <script type="text/javascript">
//         function add(a, b) {
//             return a + b;
//         }
//
//         test("Test Method 1", function () {
//             ok(add(1, 2) == 3, "Test Method 10 Pass");
//         });

//----------------------------------------------------------------------------------------------------------------

//test("Test Method2", function () {
//     ok(true, "true is pass");
//     ok(1, "1 is pass");
//     ok(2, "2 is pass");
//     ok(new Object(), "object is pass");
//     ok(2 > 1, "2 > 1 is pass");
//     ok(" ", "' ' is pass ");
//     ok([], "[] is pass");
//});
         

//----------------------------------------------------------------------------------------------------------------



////定义测试模块
//module ("测试示例");
//////这个函数用于判断传入的数是不是偶数
//function isEven(val) {
//    return val % 2 === 0;
//}

//----------------------------------------------------------------------------------------------------------------

//开始单元测试
//test的第一个参数是展现在页面上的这个测试集合的名称,可以指定任何有意义的名字
//test('isNumber()',function(){
//    //列举各种可能的情况,保证每种条件应该符合的逻辑
//    //ok 是QUnit中最常见的用于判断的函数,不过只能判断true和false
//    //正确,则绿色的条子,错误就会爆红
//    ok (isNumber(2), "2是一个数字");
//    ok(!isNumber("2"),"字符串2不是一个数字");
//    ok(isNumber(NaN),"NaN是一个数字");
//}
//);

//----------------------------------equal----------------------------------------------------
 
//test("isEven()" ,function(){
//    //相等判断equal( actual, expected, [message] )  相当于使用“==”来测试,所以equals不能用来比较数组,对象
//    equal(true ,isEven(2),'2是偶数');
//    equal(false,isEven(3),'3不是偶数');
//});

//-----------------------------------deepEqual---------------------------------------------------

//function simpleTest2() {
//    return [1, 2];
//}
//    
//test("恒等断言" ,function(){
////    相同判断(包含数组、对象等)使用deepEqual() 以前是使用same,最新版改为deepEqual了
//deepEqual(simpleTest2(), [1, 2], '函数返回数组[1, 2]');
//deepEqual(simpleTest2(), [1, 1], '函数返回数组[1, 1]');
//});

//----------------------------------------------------------------------------------------------------------------

// function add(a, b) {
//     return a + b + 1;
// }
//下面我们将断言语句放到一个定时器中,延迟1.5s后执行:
//这里我们可以看到我们使用了 asyncTest 这个方法,并且在断言后面加了一个 start ,如果不加start方法,那么最后你可能看到这个测试反馈的结果。
// asyncTest("Test Method 1", function () {
//     setTimeout(function () {
//         ok(add(1, 1) == 3, "Test Method 1 Pass");
//         start();
//     }, 1500);
// });

//-------------------------------------异步测试方式---------------------------------------------------

//module( "异步测试示例" );
////setTimeout
//test('asynchronous test', function() {
//  // 暂停测试
//  stop();
//  //console.log("cccc");
//  setTimeout(function() {
//    ok(true, '完成运行');
//    //待测试完成后,恢复
//    start();//如果不加start方法,那么最后你可能看到这个测试反馈的结果。
//  }, 2000)
//})

//----------------------------------------------------------------------------------------------------------------
////另一种形式
//asyncTest('asynchronous test', function() {
//  setTimeout(function() {
//    ok(true);
//    //待测试完成后,恢复
//    start();
//  }, 5000)
//})

//--------------------------------------------Ajax测试--------------------------------------------------------------------

//function ajax(successCallback) {
//  $.ajax({
//    url: 'data.html?a',
//    success: successCallback
//  });
//}
//
//
//test('asynchronous test', function() {
//  // 暂停测试
//  stop();
//  ajax(function(resulm) {
//    // 异步调用判断
//    console.log(resulm);
//  })
//
//  setTimeout(function() {
//    ok(true);     
//    //异步测试完成后,恢复
//    start();
//  }, 2000);
//})


//----------------------------------------------------------------------------------------------------------------


//equal(actual,expected,message):将actual和expected进行对比(相当于==),只有相等才能通过。
//
//notEqual(actual,expected,message):将actual和expected进行对比,只有不相等才能通过。
//
//structEqual(actual,expected,message):将actual和expected进行全等对比(相当于===),只有相等才能通过。
//
//notStructEqual(actual,expected,message):将actual和expected进行全等对比,只有不想等才能通过。
//
//deepEqual(actual,expected,message):将actual和expected进行深度对比,如果是对象,则将值进行简单对比(相当于==),只有相等才能通过。
//
//notDeepEqual(actual,expected,message):将actual和expected进行深度对比,只有不想等才能通过。
//
//propEqual(actual,expected,message):将actual和expected进行深度对比,如果是对象,则将值进行全等对比(相当于===),只有相等才能通过。
//
//notPropEqual(actual,expected,message):将actual和expected进行深度对比,只有不想等才能通过。

         
     </script>
</body>
</html>
posted on 2015-06-10 16:40  watercaltrop  阅读(383)  评论(0)    收藏  举报