iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 4
3
Modern Web

Vue 怎麼寫測試系列 第 4

Day 4. 只要你目標明確,關注細節,執行力強,那你就得加班了

文章太長; 不想讀;

  1. 用 watch 自動檢查測試檔
  2. 東西好多,人生好難

正文

當我們每次在修改測試檔的時候,我們流程是這樣

// 加個測試
it ('結衣的臉捏下去會彈起來', () => {

    const button = wrapper.find('結衣的臉')
    button.trigger('捏下去')

    expect(wrapper.vm.dick).toBe('Q彈')
  })

然後我們要開 terminal

npm run test

然後發現改錯了,噴了一堆錯誤。

// 1. 改個測試
it ('結衣的臉捏下去會彈起來', () => {

    const button = wrapper.find('結衣的臉')
    button.trigger('捏下去')

    // 2. 抓到兇手
    expect(wrapper.vm.face).toBe('Q彈')
  })

然後我們又開 terminal

npm run test

好累!!!!!!!!!!!!!!!!!!

這時候我們靈雞一洞

https://ithelp.ithome.com.tw/upload/images/20171221/201044765oEll00MQB.png

還真的有

熟悉 npm 的你,應該知道

https://ithelp.ithome.com.tw/upload/images/20171221/20104476CMJrWGjYtp.png

我們跑測試是使用 jest 來跑

https://facebook.github.io/jest/docs/en/cli.html

只要我們加個 --watch

https://ithelp.ithome.com.tw/upload/images/20171221/20104476Ell5bkjYq7.png

就一切搞定了

再來我們就修改一下我們的 package.json

https://ithelp.ithome.com.tw/upload/images/20171221/201044764RnNQ1lMkF.png

再來就

npm run watch

然後,我鐵人賽的一篇文就生出來了。

Q&A

有人問 jest --watch 跑的時候噴出一堆 error 是為什麼?
答案是

因為你沒有使用 git 做版本控制。
然而 jest --watch 預設會使用 -o, --onlyChanged 這個參數
這個參數意思是,jest 會去查看版本控制
然後即時的知道有哪些檔案是 uncommited,再去針對這些檔案跑測試。

影片君

在這裡


上一篇
Day 3. 上吧,第一支測試!
下一篇
Day 5. 冬至吃一碗湯圓,配一晚測試
系列文
Vue 怎麼寫測試30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Capillary J
iT邦新手 4 級 ‧ 2017-12-22 00:10:07

影片講話的深音好有磁性喔>/////<

我要留言

立即登入留言