Jenkins CI 是目前市面上最受歡迎的持續整合伺服器之一。在開發 AngularJS 專案的過程中(希望是在早期階段),您可能會希望根據程式碼版本控制系統自動執行測試。Jenkins 可以幫助您完成這項任務。本教學假設您已經在 CI 環境中安裝並執行 Jenkins。
您需要在 Jenkins CI 伺服器上安裝以下工具
以下 Jenkins 插件是選用的,但接下來的指南將基於此插件
根據需要對您的 karma.conf.js
檔案進行以下新增和修改
singleRun: true,
reporters: ['dots', 'junit'],
junitReporter: {
outputFile: 'test-results.xml'
},
請注意,test-results.xml
檔案將會寫入目前工作目錄中以執行測試的瀏覽器命名的子目錄中(您需要告訴 Jenkins 在哪裡可以找到它們)。
在 Jenkins 中,使用基本設定(名稱、描述、參數、要提取的原始碼儲存庫等)為 Angular/Karma 啟動一個新的工作。
首先,前往工作頁面並點擊設定。然後在「建置環境」子區段中,勾選「將環境變數注入建置過程」的核取方塊。將會出現幾個文字方塊,在「屬性內容」方塊中設定以下內容
$ PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
$ PHANTOMJS_BIN=/usr/local/bin/phantomjs #or wherever PhantomJS happens to be installed
在頁面下方,「建置後動作」子區段中,從「建置後動作」下拉式選單中新增「發布 JUnit 測試結果報告」。當標籤為「測試報告 XML」的文字方塊出現時,輸入 test-results.xml
檔案相對於 Jenkins 工作區根目錄的路徑(您可以使用萬用字元,因此 **/test-results.xml
將會找到該檔案,即使它儲存在特定瀏覽器的子目錄中)。