2

hereの説明に従って、kohana (3.2) unittest モジュールを構成しました。ので、私は持っています:

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_STRICT をオフにしても何も起こりません。つまり、CLI には phpunit の出力がなく、空の行だけです。

2 つ目の問題は、Web アクセスがまったく機能しないことです (http://localhost/unittest)。404 エラーが発生します。たぶん、ルートか何かを作成する必要がありますか?


Mac OS 10.7.4
Apache 1.3.41
PHPUnit 3.6.11
Kohana 3.2.0
4

1 に答える 1

1

Kohana バージョン 3.* では、unittest モジュール用の Web インターフェイスが存在しないため、Web アクセスは機能しません。すぐにテストを実行する唯一の方法は、CLI を使用することです。

これは通常、次の手順で実行できます。

  1. ターミナルを開く
  2. ディレクトリをアプリケーションの tests ディレクトリに変更します
  3. 「phpunit」を実行します

さらに、チュートリアルは少し古くなっています。Kohana 3.2 での unittest セットアップの改訂が提案されました: Suppressing the request when running PHPUnit with Kohana 3.2

CLI から実行しているため、HTTP 環境変数へのアクセスは利用できません。

それらは利用できませんが、PHPUnit のドキュメントConfiguration Appendixに従って、phpunit.xml ファイルで構成することにより、操作の前にそれらを設定できます。

PHP INI 設定、定数、およびグローバル変数の設定

要素とその子を使用して、PHP 設定、定数、およびグローバル変数を構成できます。include_path の先頭に追加するためにも使用できます。

<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>
于 2012-07-14T15:01:36.003 に答える