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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 目標 無明確目標 ## [](https://github.com/alsotang/node-lessons/tree/master/lesson13#知識點)知識點 1. 學習使用 travis-ci 對項目進行持續集成測試 ([https://travis-ci.org/](https://travis-ci.org/)?) ## [](https://github.com/alsotang/node-lessons/tree/master/lesson13#課程內容)課程內容 首先來看看這個項目:[https://github.com/Ricardo-Li/node-practice-3](https://github.com/Ricardo-Li/node-practice-3) [![](https://box.kancloud.cn/2015-08-03_55bf140162262.png)](https://github.com/alsotang/node-lessons/blob/master/lesson13/1.png) (圖1) 類似這樣的 badges,在很多項目中都可以看到。前者是告訴我們,這個項目的測試目前是通過的;后者是告訴我們,這個測試的行覆蓋率是多少。行覆蓋率當然是越多越好。測試的重要性我就不說了。 為什么要使用 travis 這樣的平臺,是因為它可以讓你明白自己的項目在一個“空白環境”中,是否能正確運行;也可以讓你知道,用不同的 Node.js 版本運行的話,有沒有兼容性問題。 當你在自己的機器上跑測試的時候,你用著特定的 Node.js 版本,比如 0.10,如果測試過了,你也還是不懂在 0.11 下,你的測試能不能通過。你可以手動地切換 node 版本再跑一次,也可以選擇讓 travis 幫你把不同的 node 版本跑一次。而且有時候,我們 npm 安裝了某個包,但卻忘記將它寫入 package.json 里面了,在自己的機器上,測試沒問題,但當別的用戶安裝你的包時,會發現有依賴缺失。 travis 應該是把虛擬機的技術玩得比較好,它每次跑測試時,都會提供一個空白的環境。這個環境只有 Linux 基本的`build-essential`?和?`wget`、`git`?那些依賴。連 Node.js 的運行時都是現跑現安裝的。 travis 默認帶有的那些依賴,都是每個用戶的機器上都會有的,所以一旦你的應用在 travis 上面能夠跑通,那么就不用擔心別的用戶安裝不上了。 我們來講講接入 travis 的步驟。 travis 的價格是免費的,對于 github 上的開源項目來說。它默認當然不可能幫 github 的每個用戶都跑測試,所以你需要去注冊一下 travis,然后告訴它你需要開啟集成測試的倉庫。 [![](https://box.kancloud.cn/2015-08-03_55bf1408b0696.png)](https://github.com/alsotang/node-lessons/blob/master/lesson13/2.png) 比如上圖,可以看到我幫自己的?`alsohosts`?項目以及?`adsf`?項目開啟了測試。 當你在 travis 授權了倉庫之后,每當你 push 代碼到 github,travis 都會自動幫你跑測試。 travis 通過授權,可以知道你的項目在什么地方,于是它就可以把項目 clone 過去。但問題又來了,它不懂你的測試怎么跑啊。用?`npm test`?還是?`make test`?還是?`jake test`?呢? 所以我們需要給出一些配置信息,配置信息以?`.travis.yml`?文件的形式放在項目根目錄,比如一個簡單的`.travis.yml`。 ~~~ language: node_js node_js: - '0.8' - '0.10' - '0.11' script: make test ~~~ 這個文件傳遞的信息是: * 這是一個 node.js 應用 * 這個測試需要用 0.8、0.10 以及 0.11 三個版本來跑 * 跑測試的命令是?`make test` 將這個文件添加到項目的根目錄下,再 push 上 github,這時候 travis 就會被觸發了。 travis 接著會做的事情是: 1. 安裝一個 node.js 運行時。由于我們指定了三個不同版本,于是 travis 會使用三個機器,分別安裝三個版本的 node.js 2. 這些機器在完成運行時安裝后,會進入項目目錄執行?`npm install`?來安裝依賴。 3. 當依賴安裝完成后,執行我們指定的 script,在這里也就是?`make test` 如果測試通過的話,make 命令的返回碼會是 0(如果不懂什么是返回碼,則需要補補 shell 的知識),則測試通過;如果測試有不通過的 case,則返回碼不會為 0,travis 則判斷測試失敗。 每一個 travis 上面的項目,都可以得到一個圖片地址,這個地址上的圖片會顯示你項目當前的測試通過狀態,把這個圖片添加到自己項目的 README 中,就可以得到我們圖1的那種逼格了。 對了,行覆蓋率的那個 badge 是由一個叫 coveralls([https://coveralls.io/](https://coveralls.io/)?) 的服務提供的。大家可以試著自己接入。 ## [](https://github.com/alsotang/node-lessons/tree/master/lesson13#補充說明)補充說明: 如果你的應用有使用到數據庫, 需要在?`.travis.yml`?中添加一些內容. 以 MongoDB 為例: ~~~ services: mongodb ~~~ 其它數據庫詳細內容參考[travis 官方文檔](http://docs.travis-ci.com/user/database-setup/)
                  <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>

                              哎呀哎呀视频在线观看