我在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