Unit testing kohana unittest(cli和web访问)的一些问题

Unit testing kohana unittest(cli和web访问)的一些问题,unit-testing,phpunit,kohana,command-line-interface,kohana-3.2,Unit Testing,Phpunit,Kohana,Command Line Interface,Kohana 3.2,我已经按照描述配置了kohana(3.2)单元测试模块。 因此,我: APPPATH/tests/ phpunit.xml sampletest.php 最后一行index.php文件: require APPPATH.'bootstrap'.EXT; if ( ! defined('SUPPRESS_REQUEST')) Request::factory()->execute()->send_headers(); 因此,第一个问题是在CLI中出现下一个错

我已经按照描述配置了kohana(3.2)单元测试模块。 因此,我:

APPPATH/tests/
    phpunit.xml
    sampletest.php
最后一行index.php文件:

require APPPATH.'bootstrap'.EXT;
if ( ! defined('SUPPRESS_REQUEST'))
    Request::factory()->execute()->send_headers();
因此,第一个问题是在CLI中出现下一个错误:

ErrorException [ 8 ]: Undefined index: SERVER_NAME ~ SYSPATH/classes/kohana/url.php [ 79 ]
这是因为启用了E_STRICT。因此,当我关闭E_严格没有发生任何事情。我的意思是在CLI中没有phpunit的输出,只有空行

第二个问题是web访问根本不起作用(http://localhost/unittest). 404错误发生。也许我应该创建一些路线或其他什么



Web访问不起作用,因为在Kohana版本3.*中,unittest模块不再具有Web界面。开箱即用运行测试的唯一方法是通过CLI进行

这通常可以通过执行以下操作来完成

  • 开放式终端
  • 将应用程序的目录更改为tests目录
  • 运行“phpunit”
  • 另外,教程有点过时了。Kohana 3.2中单元测试设置的修订建议如下:

    由于它是从CLI运行的,因此无法访问HTTP环境变量

    根据phpunit文档,即使它们不可用,也可以在操作之前通过在phpunit.xml文件中配置它们来设置它们:

    设置PHP INI设置、常量和全局变量

    元素及其子元素可用于配置PHP设置、常量和全局变量。它还可用于预先设置include_路径

    
    .
    
    Mac OS 10.7.4
    Apache 1.3.41
    PHPUnit 3.6.11
    Kohana 3.2.0
    
    <php>
        <includePath>.</includePath>
        <ini name="foo" value="bar"/>
        <const name="foo" value="bar"/>
        <var name="foo" value="bar"/>
        <env name="foo" value="bar"/>
        <post name="foo" value="bar"/>
        <get name="foo" value="bar"/>
        <cookie name="foo" value="bar"/>
        <server name="foo" value="bar"/>
        <files name="foo" value="bar"/>
        <request name="foo" value="bar"/>
    </php>