我在 Kohana 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
这实际上并不是一个大问题,因为尽管如此,测试似乎仍在运行,但我想知道是否有人知道我是否应该在某个特定的地方设置这个变量。