由於遇到了一些 Google reCAPTCHA 的狀況,所以剛好找時間來重新檢視一下 Vue 元件的生命週期這件事。其實也不是 Vue
本身的問題,但是很奇妙的是,我真的就是遇到這種狀況。
剛好複習一下也好。
--------------------------------------------------------------------------------
Lifecycle
首先還是先複習一下官方這張說明圖片,
> https://vuejs.org/v2/guide/instance.html#Lifecycle-Diagram
接著回想一下我上次寫過,關於 Vue-Router 外面
[https://blog.hinablue.me/vuejs-guan-yu-vue-router-wai-mian-de-liang-san-shi/
雖然說寫了很多 JavaScript,但是還真的是頭一次遇到 global 的問題。其實也不是什麼問題,只是對於這個物件的不熟悉,所以覺得他是一個
Bug,後來才發現他是一個 Feature。
--------------------------------------------------------------------------------
RegExp
在開始之前,我們可以先參考一下 MDN 的文件,
> https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Guide/Regular_Expressions
然後可以看一下關於 Advanced Searching With Flags
上一篇解釋了虛擬碼的概念,這次直接進入撰寫測試的方法。當然,需要一點工具來輔助我們,這裡我們使用 nightwatch.js
[http://nightwatchjs.org] 來當作測試的框架。
如果不是使用 nightwatch.js 的人,可以左轉沒關係。
--------------------------------------------------------------------------------
環境
萬事起頭難,建立環境這件事情最難! 雖然我們使用 nightwatch.js
來當做測試框架,但是我們還是需要具備一些基礎知識,好方便我們操作。首先,我們需要的有,
1. 可以運行 NodeJS [https://nodejs.
End-to-End
測試,是近幾年開始流行的測試方法。身為一個農夫,其實沒有寫測試也是很合理的(不是!因應開發需求,所以趕流行也得開始寫一點測試的東西,不然會不夠潮!
這篇是相當入門的火星文,如果已經是火星人,請直接 End 謝謝。
--------------------------------------------------------------------------------
前置作業
首先,測試工具有很多,在我們討論測試工具之前,要先釐清幾件事情:
1. 測試是什麼東西?
2. 該怎麼把想法變成測試程式?
3. 測試的程式該怎麼寫?
4. 要用哪一種測試工具?
「測試」顧名思義就是一種測試(廢話,目的在於驗證結果是否 正確,
最近因為某些需求,所以需要把一些動作放在 Vue 外面,但是由於 Vue 整個生命週期的關係,所以有些事情沒辦法在元件當中操作。所以就把歪腦筋動到
vue-router 身上,後來發現,很多動作還是會有些意外發生。
我們就來聊一下那些看似合理的 意外!
--------------------------------------------------------------------------------
引言
以下皆是在 Vue 2.3/Vue-router 2.5 含以上版本測試,如果你不是該版本或以上,請斟酌服用。
Lifecycle 與 Vue-router 2.5
一開始還是要請出官方的圖來打一點預防針,