前面大概敘述過 NightwatchJS 的運作方式,接著繼續來說明一些可能會有雷的地方。當然,我覺得這不是每個人都會遇到,應該是我天生比較帶賽的關係。
像是鋤頭打到自己的腳之類的事情。
--------------------------------------------------------------------------------
運作順序
畢竟他還是 JavaScript 的關係,所以運作的方式可能會跟我們想像的有點出入。舉個例子來說,
browser
.verify.ok(true, '第 1 次 Verify')
browser
.click('button[type="submit"], function() {
browser.verify.ok(true,
上一篇解釋了虛擬碼的概念,這次直接進入撰寫測試的方法。當然,需要一點工具來輔助我們,這裡我們使用 nightwatch.js
[http://nightwatchjs.org] 來當作測試的框架。
如果不是使用 nightwatch.js 的人,可以左轉沒關係。
--------------------------------------------------------------------------------
環境
萬事起頭難,建立環境這件事情最難! 雖然我們使用 nightwatch.js
來當做測試框架,但是我們還是需要具備一些基礎知識,好方便我們操作。首先,我們需要的有,
1. 可以運行 NodeJS [https://nodejs.
End-to-End
測試,是近幾年開始流行的測試方法。身為一個農夫,其實沒有寫測試也是很合理的(不是!因應開發需求,所以趕流行也得開始寫一點測試的東西,不然會不夠潮!
這篇是相當入門的火星文,如果已經是火星人,請直接 End 謝謝。
--------------------------------------------------------------------------------
前置作業
首先,測試工具有很多,在我們討論測試工具之前,要先釐清幾件事情:
1. 測試是什麼東西?
2. 該怎麼把想法變成測試程式?
3. 測試的程式該怎麼寫?
4. 要用哪一種測試工具?
「測試」顧名思義就是一種測試(廢話,目的在於驗證結果是否 正確,
請叫我踩雷王!
--------------------------------------------------------------------------------
PHPUnit 與 Phalcon DI 的困擾
特別提出 DI 是因為資料庫的關係,由於自己比較機歪,把 Functional Testing 從 handle 的入口開始做,這樣變成測試有點繁瑣,
1. 會先進入 Application 初始化
2. 設定 DI
3. 開始進入 Router
4. 進入 Router 後會先跑一遍 Middleware
其實我不會寫測試。
其實我不會寫測試。
其實我不會寫測試。
--------------------------------------------------------------------------------
官方的測試工具
其實 PhalconPHP 有提供 Unit testing
[https://docs.phalconphp.com/en/latest/reference/unit-testing.html]
測試的小小範例,但是他就真的跟飯粒一樣小,以致於我完全不知到該怎麼辦才好。加上 PHPUnit
我不熟(前情提要:我不會寫測試。所以基本上該踩的雷還是要踩一踩才知道該怎麼辦。
官方提供的開發工具庫 phalcon/incubator 裡面,確實有提供