<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                1.2 斷言 單元測試的核心部分是斷言。所謂斷言,則是表達程序設計人員對于系統應達到狀態的一種預期。比如,在上一節跟蹤調試有問題的“y”格式時,我們實施了手工斷言:當strftime方法用在2009年的日期上,用“y”格式時,我們預期它返回字符串“09”。如果沒這樣返回,那么系統就沒有正常工作。斷言就宣告失敗,測試就隨即被中止,我們將會得到測試失敗的通知。清單1.7顯示了一個簡單的assert函數。 清單1.7 簡單的assert函數 ~~~ function assert(message,expr){ if (!expr){ throw new Error(message); } assert.count++; return true; } assert.count = 0; ~~~ 這里,assert函數只是檢查它的第二個參數是否為真(意即,除了false、null、undefined、0、""和NaN之外的任何值)。如果為真,就把斷言計數器加1,否則就拋出錯誤,以第一個參數作為其錯誤信息。我們可以在之前的測試中使用assert,如清單1.8所示。 清單1.8 用assert作測試 ~~~ var date =new Date(2009,9,2); try { assert("%Y should return full year", date.strftime("%Y")==="2009"); assert("%m should return month", date.strftime("%m")==="10"); assert("%d should return date", date.strftime("%d")==="02"); assert("%y should return year as two digits", date.strftime("%y")==="09"); assert("%F should act as %Y-%m-%d", date.strftime("%F")==="2009-10-02"); console.log(assert.count +"tests OK"); }catch (e){ console.log("Test failed:"+e.message); } ~~~ 當然,這種方案需要多輸入一點點東西,但我們的測試現在實現了自我檢查和自我匯報。除了檢查測試報告的最終輸出外,我們從手工勞動中基本解脫出來了。 紅和綠 在單元測試的領域中,通常分別用“紅”和“綠”來表示“失敗”和“成功”。因為讓測試變紅或變綠,會使得結果更加容易解釋,而我們也可以少花些力氣。清單1.9提供了一個簡化的輸出函數,使用DOM來顯示有顏色的消息。 清單1.9 輸出有顏色的消息 ~~~ function output(text,color){ var p =document.createElement("p"); p.innerHTML =text; p.style.color =color; document.body.appendChild(p); } //console.log can now be replaced with output(assert.count +"tests OK","#0c0"); //and,for failures: output("Test failed:"+e.message,"#c00"); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看