2011-06-21 14 views
3

私は、次のような問題に実行していますよすべて正常に動作しますが、私が置くと、すべてのファイルをインクルードしようとするため、システムがクラッシュします。これにより、require_onceを持つファイルがインクルードされ、アプリケーションがクラッシュします。設定ホワイトリストは

EDIT起動時に、システムはいくつかの定数を定義します。これらの定数は、ホワイトリストを作成するためのすべてのデータが含まれているときには定義されていないため、存在しないフォルダにアクセスしようとします(PHPは定数が文字列であるとみなします)。したがってrequire_onceは失敗し、クラッシュします。

また、ヘルプがある場合は、Seleniumでホワイトリストに使用されています。多分それが問題の原因ですか?

+0

edorianが私たちのコードにも書いているように動作します。おそらくあなたのコードは裸の '要求'をしているコードでしょう。質問を編集して、実際のエラー出力を「クラッシュするアプリケーション」として追加することは、あまり説明的ではありません。 –

+0

おそらくPHPUnitのブートストラップやベースのTestcaseでその定数を定義できますか? – hakre

+0

それは良い慣習に反するだろうか?とにかく、私はそれを試して、それがatleast作品かどうかを確認します。 – Lumbendil

答えて

4

コードカバレッジ情報を収集するには、システムの種類にはが含まれている必要がありますので、すべてのファイルが必要です。あなたはPHPUnitのにもファイルを必要とする"_once"を使用して問題になることはありませんrequire_onceを使用している場合

(技術的には、それはへを持っていないんが、それはありません)。

require_once文で完全なコードベースでホワイトリストを使用していますが、私が実行した唯一の問題は2つの場所で定義されたクラスを持つことです。

+0

ここでの主な問題は、コードがフレームワークに依存しているため、単独でロードするとクラッシュしてしまうことです(フレームワークのコードカバレッジには関心がありません)。 – Lumbendil

+0

@Lumbendil通常、フレームワークは ''でフレームワークをブートストラップしますが、ホワイトリストには含まれません(または '')。あなたの問題は、コードがフレームワークの一部を必要とし、うまくいかないことです。 – edorian

+0

atm私は** Selenium **テストをビルドしています。そのため、現在のところ、ブートストラップはフレームワークをブートストラップしません。私たちはユニットテストatmから始める予定はありません。なぜなら、私はこの作業をするためにブートストラップするべきでしょうか? – Lumbendil