iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 29
0
Modern Web

從零開始認識 Node.js系列 第 29

[Day 29] 動手篇 - Give me TEST AUTOMATION!

TDD

前言

今天使用 Github + Travis CI

Travis CI logo

本文開始

  1. 在 Project 根目錄新增 .travis.yml 檔案
  2. 開啟 .travis.yml ,內容如下
    // 告訴 Travis CI 測試的語言
    language: node_js
    
    // 測試的版本
    node_js:
      - "6"   // 測 Node.js v6.X.X 最新版本
      - "5"   // 測 Node.js v5.X.X 最新版本
      - "4"   // 測 Node.js v4.X.X 最新版本
      - ...   // 其他版本依此類推
    
    // 若要測試環境有 Node.js v4 或 iojs v3 需要加以下設定,其他可以略過這段
    env:
      - CXX=g++-4.8
    addons:
      apt:
        sources:
          - ubuntu-toolchain-r-test
        packages:
          - g++-4.8
    
    // 安裝 Package ( 這裡 Mocha 不一定要安裝在全域,是我偷懶 :p )
    install:
    - npm install
    - npm install -g mocha
    
    // 執行 Script ( 這裡我直接讓 Travis CI 進行測試,若有其他需求可以寫在這 )
    - mocha
    
    // 告訴 Travis CI 測試哪一個 Branch ( 這裡只測試 master )
    branches:
      only:
      - master
    
  3. .travis.yml 推到 Github
  4. 登入 Travis CI ,若沒登入過會跳訊息並要求你同意 Travis CI 取得 Github 部分權限
  5. 登入後會看到類似的畫面,若沒看到自己的 Github repositories 可以點擊 Sync account
    http://ithelp.ithome.com.tw/upload/images/20161228/2010234271yvjKYUHo.png
  6. 將要自動測試的 Github repository 開啟
    http://ithelp.ithome.com.tw/upload/images/20161228/20102342uLkObEN16Q.png
  7. 若要做其他設定,可以點擊 repository 名稱進入
  8. 預設觸發的時機是有發 Pull Request ( PR ) 到設定的 Branch 和設定的 Branch 有 Push
    • 像設定檔我指定 master ,因此當 master 有 push 或 PR 指定到它時就會觸發
  9. 跑出來的結果可以了解版本間執行時間的差異,而後進行優化
    • 有需要立刻重新執行 Travis CI 跑測試,可以點 Restore build
      http://ithelp.ithome.com.tw/upload/images/20161228/20102342WmK3ejbKei.png

後記

基本的 CI 說完,可以發現 Test automation 沒有想像中的難,若加上 Deploy 就成了常聽到的 CI / CD ,而這部分沒提的主因是 沒空了解。

若想了解更多 Travis CI 可以到 Travis CI Document 了解,而其他 CI / CD 工具觀念是一樣,了解操作一樣可以達到相樣的效果。


上一篇
[Day 28] 動手篇 - 「LINE BOT ,回話!」
下一篇
[Day 30] 階段完成篇 - 30 整理、釋出、下一步
系列文
從零開始認識 Node.js31

尚未有邦友留言

立即登入留言