我在Kohana 3.2中正確設置單元測試時遇到了問題。使用Kohana運行PHPUnit時抑制請求3.2
我安裝了PHPUnit。我改變了引導來激活Kohana的單元測試模塊。我也改變了index.php文件看起來像這樣:
if (! defined('SUPPRESS_REQUEST'))
{
echo Request::factory()
->execute()
->send_headers()
->body();
}
我創造了我的應用程序文件夾的文件夾的測試。在這裏面,我插入了phpunit.xml文件看起來像這樣:
<phpunit colors="true" bootstrap="../../index.php">
<testsuites>
<testsuite name="Kohana Tests">
<directory>./</directory>
</testsuite>
</testsuites>
我有兩個問題(第一個是一個我真的需要一個答案):
1-當我從命令行進入測試並嘗試運行phpunit時,似乎SUPPRESS_REQUEST從未設置爲true。該請求被執行,因此不運行測試。我能夠成功運行測試的唯一方法是暫時註釋掉index.php中的整個Request :: factory()行。有誰知道如何解決這個問題?如果我應該在某處添加一個define('SUPPRESS_REQUEST',true),我應該在哪裏做?我是Kohana和PHPUnit的新手。
2- PHPUnit抱怨未設置變量REMOTE_ADDR。
PHP Notice: Undefined index: REMOTE_ADDR in
/Users/**/Sites/root/application/bootstrap.php on line 76
這其實不是一個很大的問題,現在的測試似乎仍然儘管如此跑,但我想知道如果有人知道我是否應該在特定的地方設置這個變量。
謝謝你,你是對的,那確實是問題所在。我正在學習一個指向index.php的教程(實際上,在我的Request :: factory是 - 如果不清楚的話,那很抱歉)。指向測試引導解決了問題! – Emilie 2012-03-25 20:17:41