iT邦幫忙

DAY 13
0

從想法到快速實作的捷徑:Rails系列 第 13

[ Day 13 ][ Dev ] Guard - 自動化運行測試的好朋友

  • 分享至 

  • xImage
  •  

每次改完spec都要在那邊bundle exec rspec spec/,

是不是很煩呢?

Guard幫我們解決了這個煩惱,它會在我們改變檔案存檔的時候幫我們去跑測試,

可以把它想成是測試版的live-reload。

第一步當然是要在Gemfile裡面加上要用到的gems:

gem 'guard'
gem 'guard-rspec'
gem 'terminal-notifier-guard'

bundle完之後執行bundle exec guard init

run bundle exec guard init

  • 接下來看到Guardfile中

    A sample Guardfile

    More info at https://github.com/guard/guard#readme

    guard :rspec do
    watch(%r{^spec/.+_spec.rb$})
    watch(%r{^lib/(.+).rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
    watch('spec/spec_helper.rb') { "spec" }
    end

  • 習慣上是留下這三行就好了,如果你想要更改其他地方也會繼續跑測試的話,那可以自己設定

  • 設定完成之後只要在terminal執行bundle exec guard,就可以把測試給掛上去了

  • 按下enter會運行所有測試,而對任何spec資料夾底下的檔案做完更動並存檔後,guard也會自動幫你跑測試,非常的好用

而guard不只能拿來運行rspec而已,其他像是minitest也可以用,

有興趣的話一樣可以去github研究一番。

參考資料:
https://github.com/guard/guard
https://github.com/guard/guard-rspec


上一篇
[ Day 12 ][ Dev ] rspec - 用Factory造測試用的假物件
下一篇
[ Day 14 ][ Review ] Rails Pacific心得 - How to become a senior developer
系列文
從想法到快速實作的捷徑:Rails30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言