原文出處:https://www.phodal.com/blog/bare-minimum-iot-system-add-test-for-laravel/
似乎在ThoughtWorks的幾天之后,對測試有了點認識。于是試著將測試擴展到自己所知道和認識的領(lǐng)域,換句話說,需要添加這些測試到自己的這個項目上:
源碼:http://github.com/gmszone/iot
說點關(guān)于測試的話,這里只是因為在這幾天的感覺中,覺得添加測試是有必要的。這里的所謂的必要并不是指你在添加功能的時候,而是指你在后期進行修改的時候。
寫測試并不會提高多少的編程能力,但是寫測試的目的是為了保證功能是正解的,如果只是簡單的一次性項目,不需要后期維護,那么這個時候測試不一定是必需的。我們也不一定要嚴格去按照TDD的流程來辦事,我們所要做的事只是簡單的功能。而如果在長期維護的項目上,測試是有必要的,功能與需求在不斷地增加,我們需要對項目進行不斷地改變。
添加測試雖然會帶來一定的負擔,但是從重構(gòu)的角度來說,這個是有利的。測試的目的在于保證程序能正確運行。
因為這里是用Laravel框架來做的RESTful服務(wù),那么我們也需要對這個進行一個簡單的測試,而且Laravel也提供了測試,那么可想而知在一個項目里面測試是有必要的。而且框架也提供了測試,所以我們需要寫個測試不是么。對于php來說,php是一個,應(yīng)該也是用得廣泛的一個。
如何安裝可以直接上官網(wǎng),當然這里也提供
wget https://phar.phpunit.de/phpunit.phar
php phpunit.phar
測試的代碼自然就是
php phpunit.phar
具體可見項目代碼下面的rest
Larvel的app/tests有一個CaseTest這里就暫時不修改了。我們先來創(chuàng)建一個簡單的get,參考官方的示例
public function testGetHomepage()
{
$crawler = $this->client->request('GET', '/');
$this->assertTrue($this->client->getResponse()->isOk());
}
函數(shù)名的開頭要用test,這個是獲取首頁的測試。
更多建議: