zoukankan      html  css  js  c++  java
  • JavaScript之调试工具之断言assert

    1.单点断言

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>断言----assert</title>
        <style type="text/css">
            #results li.pass { color:green; }
            #results li.fail { color:red; }
        </style>
    </head>
    <body>
        <ul id="results"></ul>
        <script type="text/javascript">
            function assert(value,desc){
                var li = document.createElement("li");
                li.className = value ? "pass" : "fail";
                li.appendChild(document.createTextNode(desc));
                document.getElementById("results").appendChild(li);        
            }
            window.onload = function(){
                assert(true,"The test suite is running");
                assert(false,"Failed!");
                assert(true,"OK");
            }
        </script>    
    </body>
    </html>

    运行:

     

    2.分组测试断言

    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8">
    	<title>assert2</title>
    	<style type="text/css">
    		#results li.pass { color:green; }
    		#results li.fail { color:red; }
    	</style>
    </head>
    <body>
    	<div style="color:red;font-weight: bolder; text-align: center;">
    		测试分组
    	</div>
    	<ul id="results"></ul>
    	<script type="text/javascript">
    		(function(){
    			var results;
    			this.assert = function(value,desc){
    				var li = document.createElement("li");
    				li.className = value ? "pass":"failed";
    				li.appendChild(document.createTextNode(desc));
    				results.appendChild(li);
    				if(!value){
    					li.parentNode.parentNode.className = "fail"
    				}
    				return li;//返回li对象
    			};
    			this.test = function(name,fn){
    				results = document.getElementById("results");
    				results = assert(true,name).appendChild(document.createElement("ul"));
    				fn();
    			}
    		})();
    	</script>
    	<script type="text/javascript">
    		window.onload = function(){
    			test("A group test.",function(){
    				assert(true,"A.1 assertion completed.");
    				assert(true,"A.2 assertion completed.");
    				assert(true,"A.3 assertion completed.");
    			});
    
    			test("B group test",function(){
    				assert(true,"B.a assertion completed.");
    				assert(false,"B.b assertion completed.");
    				assert(true, "B.c assertion completed.");
    			});
    		}
    	</script>
    </body>
    </html>
    

     运行:

    3.引用文献:JavaScript忍者秘籍

  • 相关阅读:
    [公告]Google个性化主页可以正常阅读博客园的RSS了
    致歉
    [公告]网站程序已经升级到ASP.NET 2.0
    GTF: Great Teacher Friedman
    Node.js : exports と module.exports の違い
    拨开历史的迷雾从篡夺者战争到五王之战的政经原因
    javascript模板系统 ejs v10
    window.name + postMessage实现不用代理页的跨域通信
    node.js Domain 時代のエラー処理のコーディングパターン
    鲜为人知的get,set操作符
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/7886719.html
Copyright © 2011-2022 走看看