<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                實際開發時,istanbul 總是與測試框架結合使用,下面以常用的?[Mocha 框架](http://mochajs.github.io/mocha/)為例。 sqrt.js 是一個計算平方根的腳本。 ~~~ var My = { sqrt: function(x) { if (x < 0) throw new Error("負值沒有平方根"); return Math.exp(Math.log(x)/2); } }; module.exports = My; ~~~ 它的測試腳本 test.sqrt.js 放在 test 子目錄。 ~~~ var chai = require('chai'); var expect = chai.expect; var My = require('../sqrt.js'); describe("sqrt", function() { it("4的平方根應該等于2", function() { expect(My.sqrt(4)).to.equal(2); }); it("參數為負值時應該報錯", function() { expect(function(){ My.sqrt(-1); }).to.throw("負值沒有平方根"); }); }); ~~~ 然后,執行下面的命令得到代碼覆蓋率。 ~~~ $ istanbul cover _mocha // or $ istanbul cover _mocha test/test.sqrt.js sqrt ? 4的平方根應該等于2 ? 參數為負值時應該報錯 2 passing (7ms) ===== Coverage summary ===== Statements : 100% ( 5/5 ) Branches : 100% ( 2/2 ) Functions : 100% ( 1/1 ) Lines : 100% ( 4/4 ) ============================= ~~~ 上面命令中,istanbul cover 命令后面跟的是 _mocha 命令,前面的下劃線是不能省略的。 因為,[mocha 和 _mocha 是兩個不同的命令](https://github.com/gotwarlost/istanbul/issues/44),前者會新建一個進程執行測試,而后者是在當前進程(即 istanbul 所在的進程)執行測試,只有這樣, istanbul 才會捕捉到覆蓋率數據。其他測試框架也是如此,必須在同一個進程執行測試。 如果要向 mocha 傳入參數,可以寫成下面的樣子。 ~~~ $ istanbul cover _mocha -- tests/test.sqrt.js -R spec ~~~ 上面命令中,兩根連詞線后面的部分,都會被當作參數傳入 Mocha 。如果不加那兩根連詞線,它們就會被當作 istanbul 的參數(參考鏈接[1](http://www.clock.co.uk/blog/npm-module-code-coverage-in-2-simple-steps),[2](http://www.vapidspace.com/coding/2014/10/29/code-coverage-metrics-with-mocha-and-istanbul/))。 如果想在瀏覽器運行 Istanbul ,可以參考[這篇文章](http://ariya.ofilabs.com/2013/12/code-coverage-of-mocha-tests-using-istanbul-and-karma.html)。
                  <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>

                              哎呀哎呀视频在线观看