Codeigniter上怎麼做代碼的除錯測試?
前一陣子開發的專案用在台灣很常被使用的Codeigniter來開發,開發起來果然夠快,簡單明瞭
的MVC架構,當然除了MVC以外還自己增加了Service層讓Controller不要這麼肥大!但是還
是很肥(翻白眼)。為了讓函數有效的被利用,上司當然會不斷的叫我把函數共通化,而共通化的
結果就是客人要我改個東西,忘記還有其他的機能也用到這個函數,一開其他地方就出錯了!這個
候就需要除錯測試了。日文叫做「単体テスト」。也就是利用既定的方法去測試現在這個函數到
底有沒有問題。網路上有鼎鼎大名的PHPUnit可以拿來做測試。但是要怎麼不動到自己的代碼就
使用在Codeigniter上呢?
我們可以使用ci-phpunit-test這個開源套件來達到這個測試。但是要用之前也是要先把
PHPUnit給裝好,PHPUnit的安裝方法可以詳閱官方文件 這裡
安裝好後再把ci-phpunit-test下載下來,解壓縮,然後把 application 中的 tests
整個拷貝到你的 Codeigniter 專案的 application 底下就可以了。
接下來只要進去這個tests的資料夾中執行
$ phpunit
後你就可以看到測試開始執行,然後產生以下結果就表示測試的結果出爐啦
$ PHPUnit XXXX by Sebastian Bergmann and contributors.
$ ... 1 / 1 (100%)
$ Time: xx ms, Memory: xxMb
$ OK (1 tests, 1 assertions)
當然如果有需要測試到既有架構以外的東西的話(例:我自行加上的Services)就別忘記
要去修正phpunit.xml囉!