iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 10
1
Modern Web

Vue 怎麼寫測試系列 第 10

Day 10. Jest 原生的 mock

  • 分享至 

  • xImage
  •  

我想你這次點進來,一定有個疑問

今天的標題好正常?

因為內容不正常

昨天講到 moxios 可以用來很方便的 mock axios 的 request
但如果不用 moxios 我們要怎麼做到這件事呢?

有的,還記得我們底層用的測試環境是 jest 的吧
身為一個測試框架,當然會提供這種超基本的功能

想想今天有一個 axios 的 request 是要撈到所有的發文

onSubmit(value) {
    axios.get('/posts').then({result} => {
      this.posts = result
    })
}

我們可以在測試的時候這樣 mock

jest.mock('axios', () => ({
  get: jest.fn( // 塞一個假 function )
}))

可能的使用情境就像這樣

jest.mock('axios', () => ({
  get: jest.fn(() => Promise.resolve(['一哭', '二鬧', '三上悠亞']))
}))

把鐵人賽當個版發文不知不覺也過 10 天了

剩下的 20 天
來實作一個 side project 吧


上一篇
Day 9. 聞風喪膽非同步,爽到忘我假回傳
下一篇
Day 11. 實作一個 reddit - 專案建置
系列文
Vue 怎麼寫測試30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Capillary J
iT邦新手 4 級 ‧ 2017-12-28 08:37:51

卡文產生器

Mos iT邦新手 5 級 ‧ 2017-12-28 08:44:34 檢舉

XDDD 我已經是人肉卡文機了

我要留言

立即登入留言