almost 2 years ago

關於自動化測試

在這個世代開發網站,少不了的就是「測試」,能把寫好的測試讓機器幫你做自動化測試,只有通過才可以Merge,這樣一來保障了程式碼品質,同時也不會在有新的變動時搞砸了原有的設計或架構,在共同協作上也能更保障不會在上Production的時候弄爛了整個程式。

專案程式碼放在Github上面,但是誰來幫我做測試?

  • 你必須要先寫好測試,在Ruby上面最常聽見的不外乎是Rspec
  • 你必須要有一台Server自動Run script

如果Github是免費的,那CI-server也會有免費的吧?

這裡推薦目前很好用的服務,Travis-CI,不過要注意的是如果要讓你的Private repository也使用這個服務必須是付費的。

CI-Server

在Travis的網站上面註冊新的帳號後,就可以連結到自己的Githib上,並且可以直接選擇你的公開專案,選完之後就是進行細部設定。

設定你的Repository

先在你的專案目錄下新增一隻檔案,可以直接下指令

touch .travis.yml

並將下面的內容填上(這裡適用Rails project)

language: ruby

rvm:

- 2.3.2

bundler_args: --jobs 1 --retry 3

script:

  - bin/rake db:migrate RAILS_ENV=test

  - bin/rake

cache: bundler

詳細設定在網站的Getting start都有說明文件可以按照不同的Project去做調整

Github調整參考測試結果

1 .在你的Github專案上進入該專案的setting -> branches 將 master加入 Protected branches

  1. 按下Edit進去之後就可以參考CI吐回的結果決定pull request是否可以 accept merge了

← Rails 工作面試分享 [AWS] 定時開啟或關閉機器實例的方案 →
 
comments powered by Disqus