上一篇解釋了虛擬碼的概念,這次直接進入撰寫測試的方法。當然,需要一點工具來輔助我們,這裡我們使用 nightwatch.js
[http://nightwatchjs.org] 來當作測試的框架。
如果不是使用 nightwatch.js 的人,可以左轉沒關係。
--------------------------------------------------------------------------------
環境
萬事起頭難,建立環境這件事情最難! 雖然我們使用 nightwatch.js
來當做測試框架,但是我們還是需要具備一些基礎知識,好方便我們操作。首先,我們需要的有,
1. 可以運行 NodeJS [https://nodejs.
End-to-End
測試,是近幾年開始流行的測試方法。身為一個農夫,其實沒有寫測試也是很合理的(不是!因應開發需求,所以趕流行也得開始寫一點測試的東西,不然會不夠潮!
這篇是相當入門的火星文,如果已經是火星人,請直接 End 謝謝。
--------------------------------------------------------------------------------
前置作業
首先,測試工具有很多,在我們討論測試工具之前,要先釐清幾件事情:
1. 測試是什麼東西?
2. 該怎麼把想法變成測試程式?
3. 測試的程式該怎麼寫?
4. 要用哪一種測試工具?
「測試」顧名思義就是一種測試(廢話,目的在於驗證結果是否 正確,
上一回有提到動態載入的事情,既然提到了動態的元件載入,就不得不提一下 functional component 這個東西。
是說,也沒有太多神奇的地方,只是借用了 React 的東西拿來班門弄斧一下而已。
--------------------------------------------------------------------------------
Functional Component
官方文件 [https://vuejs.org/v2/guide/render-function.html#Functional-Components]
有提到詳細的功能,有興趣的人可以先去看看。基本上他就是一個無狀態、不屬於任何生命週期的一種元件。
用這種元件的好處是什麼?
1. 預先載入其他的元件
2. 預先處理邏輯
官方的範例當中,
因為有一些需求的緣故,所以需要做到動態載入元件。想當然爾,事情不是想像中的那麼簡單。雖然說 VueJS 已經很方便了,不過做起來還是有一些地方需要留意
--------------------------------------------------------------------------------
動態元件
VueJS 有一個 :is 可以用,詳細的使用辦法可以參考官方說明 [https://vuejs.org/v2/api/#is]。
import myComponent from 'components/myComponent.vue'
export default {
components: {
myComponent: myComponent
},
data
最近因為某些需求,所以需要把一些動作放在 Vue 外面,但是由於 Vue 整個生命週期的關係,所以有些事情沒辦法在元件當中操作。所以就把歪腦筋動到
vue-router 身上,後來發現,很多動作還是會有些意外發生。
我們就來聊一下那些看似合理的 意外!
--------------------------------------------------------------------------------
引言
以下皆是在 Vue 2.3/Vue-router 2.5 含以上版本測試,如果你不是該版本或以上,請斟酌服用。
Lifecycle 與 Vue-router 2.5
一開始還是要請出官方的圖來打一點預防針,