又是新的一年了,之前一隻琢磨2016寫點什麼開篇是一個比較好的開端呢?然後一直在PHPUnit與設計模式之中糾結。最後決定還是從PHPUnit作為新的一年開篇吧。
PHPUnit對我來說也是一個新的知識,之前使用Laravel時,只是簡單了解了一下,並沒有真正的實踐過,之前一直想,這麼屌的東西,我準備花個一個月來好好研究下。結果……安裝花了我半天,其它的都不是事兒。
這裡還要補充一下,我的環境如下:
xampp(php5.6) + win7
安裝有坑,請小心
為什麼安裝就讓我花了半天?唉,說來都是淚,不吸取教訓唄,找了一些過期的文檔,根本就走不通。最後終於在官方文件 找到了想要的答案。官網上已經說得很清楚了,這裡我還是再說一下,為什麼呢?湊字數唄!嘿嘿,當然我其實不會這麼無恥,主要是因為xampp它自己安裝了phpunit (很老的版本,所以需要重新安裝),我重點說如何覆蓋它自帶的phpunit。
這裡就偷懶了,直接把官網的內容截圖。
以下是重點:
官網說要設定環境變數這裡,大家一定要小心,舉我自己的例子來說,我將xampp安裝在D:xampp,在環境變數中設定了xampp的php位置。那如果我將新下載的phpunit配置在了這個目錄之後,使用phpunit時,還是使用的xampp自帶的。因此一定記得將你的新下載的phpunit配置在xampp之前。
完成以上操作,請開啟Command(Win+R),然後輸入:phpunit –version。如果看到以下效果表示你已經完成安裝:
Test的test
現在需要試試我們的phpunit了。我這裡先直接貼程式碼,下一篇在開始說為什麼。
這裡為了簡單,我把需要測試的類,已經測試用例寫在一個文件裡邊。使用過程中肯定不要這麼乾。
<code><span><?php </span><span>/** *<span> @author</span>: helei *<span> @createTime</span>: 2016-01-15 09:45 *<span> @description</span>: */</span><span><span>class</span><span>TryClass</span> {</span><span>public</span><span><span>function</span><span>getValue</span><span>()</span> {</span><span>return</span><span>1</span>; } } <span><span>class</span><span>TryTest</span><span>extends</span><span>PHPUnit_Framework_TestCase</span> {</span><span>public</span><span><span>function</span><span>testValue</span><span>()</span> {</span><span>$try</span> = <span>new</span> TryClass(); <span>$this</span>->assertEquals(<span>1</span>, <span>$try</span>->getValue()); } }</span></code>
然後進入到文件所在目錄,運行phpunit:
這個圖展示的是正確的情況,大家可以試試把值修改了其它值試試。
哦,這裡還要說一下,PHPUnit_Framework_TestCase 這個類別的問題,安裝了phpunit後,並不會就有這個類,需要透過composer來安裝phpunit 的libary。 composer.json文件內容如下:
<code>{ "<span>require</span>" : <span>{ }</span>, "<span>require-dev</span>" : <span>{ "<span>phpunit/phpunit</span>": <span><span>"5.1"</span></span>} </span>}</code>
今天關於phpunit就算完成了,也許不夠詳盡,但是多動動手,應該都不是什麼問題。
本來想在元旦的時候來一發的,但是由於年底剛換了工作,而剛到新公司就遇到了要發重大版本,加班加點總算在昨天完成了開發任務。今天趁這個機會把2016的開頭給寫了,然後隨便說說自己的2016學習計劃,寫在這裡提醒自己不要忘記了。
2016學習計劃
對於我的以下學習計劃,我將採用博客驅動的方式,也就是學習一種技能,就完成相應技能的博客內容,一來加深學習程度,二來與大家共勉,三來……算了,不來了,總之就是學了我就寫出來。歡迎指正不正確的地址。
話已經放出來了,要是2016沒有搞完,就打臉了。我會讓自己打臉莫?誰知道呢!哈哈哈
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });以上就介紹了PHPUnit從零開始(1):從它的安裝配置說起,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。