以前談了在本地監測代碼的變更而後自動進行單元測試的流程,那若是我連本地服務器都不想開,那要怎麼辦呢?node
這一次就來談談如何利用Travis CI來作雲端單元測試。chrome
Travis CI 是經過綁定 Github 上面的項目,只要有新的代碼,就會自動抓取,搭建環境並進行測試,若是測試結果有什麼變化,就會發郵件通訊你。npm
Travis CI 要求項目的根目錄下有一個 .travis.yml 文件,裏面是配置信息。瀏覽器
本項目的配置信息以下bash
language: node_js
node_js:
- "8"
addons:
chrome: stable
sudo: required
before_script:
- "sudo chown root /opt/google/chrome/chrome-sandbox"
- "sudo chmod 4755 /opt/google/chrome/chrome-sandbox"
複製代碼
首先定義語言爲node_js
,由於測試的時候是用的 npm 命令。服務器
而後定義node_js
的版本,這裏支持多版本,能夠添加多個版本。單元測試
由於項目是跑在瀏覽器上面的,因此須要引入一個瀏覽器,設置下瀏覽器版本,這裏設置的穩定版。測試
接下來從sudo
開始一直到最後的幾句配置,這是由於我在測試的過程當中,一直報錯,而後處處搜索解決方案,有我的告訴我要加這幾句,而後我就加上了。ui
首先去官網註冊個帳號登陸上去。google
而後選擇對應的倉庫,點擊按鈕使其變爲綠色狀態,表示設置成功。
這時候稍等一會,而後返回首頁,就可看到已經在開始測試任務了,若是沒有開始,就稍微改動點項目文件,再次提交一下。
從圖中能夠看到,單元測試沒有徹底經過,有出錯的位置,也就是上一次咱們爲了看監聽命令的效果故意改錯的位置,咱們將其改正過來,再次提交代碼到 Github,再看來結果。
這下就所有經過了。
接下來看看 Travis CI 的工做日誌,看看它到底幹了什麼。
它會開機,下載 chrome,下載 Github 的代碼,安裝依賴,而後就開啓測試命令,以後就和在本地測試同樣的了,測試結束以後會將結果發郵件通知咱們(若是一直成功,後面就不發郵件通知)。
咱們直接點開成功的郵件,看一下。
這就表示 Travis CI 幫咱們執行了單元測試,並且測試所有經過。
第一次跑完成功以後,後面每次 push 代碼,Travis CI 都會進行一次測試,若是失敗了,就會郵件通知你。