2011-08-04 22 views
1

我最近開始在CodeIgniter 1.7.2中對我的php網站進行單元測試。我想用PHPUnit測試我的網站。使用PHPUnit和CodeIgniter 1.7.2

因此,我谷歌搜索並知道有一個CodeIgniter的庫& PHPUnit橋:http://www.foostack.com/foostack/。我遵循了所有步驟,並且運行了代碼,但是當我從控制檯執行測試用例時,我的默認控制器被執行,並且頁面的html被打印在控制檯上。

任何人都可以告訴我究竟發生了什麼,或者我做錯了什麼?此外,如果任何人有任何其他想法來測試模型,而不使用foostack庫,請建議它。請讓我知道是否需要其他細節。

在此先感謝。

回答

0

CodeIgniter不是一個理想的框架,您可以使用PHPUnit對代碼進行單元測試。我曾嘗試過使用FooStack一次,然後成功,但它太麻煩了。由於神對象CI的緣故,無法測試CI中隔離的模型。

但是,您可以嘗試SimpleTest的,這裏是一個好的圖書館,可以幫助你用它:https://github.com/ericbarnes/codeigniter-simpletest

比有提供CI的單元測試庫其他 - 這遠不及一個完整的單元測試框架,但確實讓你做基本的斷言,報告等。

如果你真的認真對待單元測試,我建議你轉向重視這一點的框架。我最喜歡的是Zend Framework,但也有其他好的:Symfony,Kohana,Lithium等。

+0

感謝您的評論..我也嘗試將phpunit與CI集成,但我用的所有東西都是「HTML」我的主頁。所以我認爲,似乎沒有任何其他方式來測試CI模型與phpunit.Need做一些研發這個。我有閱讀簡單測試,但從來沒有嘗試過。我喜歡phpunit,所以我只與tht.Anyways,如果我找到一些簡單的方法來做到這一點,我會......很好地張貼在這裏。 – sagar27

+0

您可以嘗試一件事 - 讓您的模型無需擴展CI_Model類即可工作。相反,使用構造函數將CI神對象注入到它中,並在單元測試中模擬該對象。 –

+0

使用PHPUnit的鉤子和自定義引導文件找到了更好的解決方案。我在github中添加了代碼:https://github.com/phpfour/CodeIgniter 工程非常好! –