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囉!

參考:
https://phpunit.de/

https://github.com/kenjis/ci-phpunit-test