2009-07-28 25 views
2

スイートの一部として、ユニット/統合テストセットとセレンrcテストセットがあります。 PHPUnitを使用してそれらを一緒に実行すると、通常の操作中にログファイルを生成し始めたときに、実行の最後にSegmentationフォールトエラーメッセージが表示されます。興味深いのは、私が単体テストを実行するか、あるいは単にセレンrcテストを実行するだけで、すべてうまく動作するということです。私はすべての私のテストを視覚的に見ることができるので、私のコードベースで問題ではないことは合理的に確信しています。私が言ったように、エラーは結果生成段階で発生します。Selenium RCテスト+ PHPUnitを使用した単体テストでSegフォールトが発生する

単体テストのコードカバレッジは使用していますが、セレンテストのコードカバレッジは使用していません($ coverageScriptUrlプロパティを自分のセレンオブジェクトに空のままにしておく)。

私は実際にファイルや行番号がないエラーを診断する必要がなかったので、私はここでストローを本当に掴んでいます。いくつかの情報がありますか?誰かが私を正しい方向に向けることができますか? PHPエラーログは空です。

アイデア?

答えて

3

同じコードが別のマシンで正常に動作していたため、ある日、私たちはセグメンテーションを開始しました.-(

私たちは、コードカバレッジを削除することになった(それは私たちにその有用ではありませんでしたとして、とにかく低すぎた)あなたは試みることができるものの

カップル:

  • はXdebugの最新バージョンにしてみてください(時には、それらは、そのようなものはありません)
  • 古いバージョンのXdebugで試してみてください(どうしてですか? )
  • はPHPUnitの上の2つの実行中にテストスイートを分割について考える:あなたはとにかくそれを使用しないよう)(コードカバレッジなしでユニットテストのために、コードカバレッジと
    • つの実行
    • つの実行を、機能・テストのために

別thngではなく、安定した2.0.xカーネルの、Xdebugを2.1のCVS版で試してみるかもしれません。 (例えば、http://www.phpunit.de/ticket/513を参照してください)

XdebugのMantis BTにsegfaultsに関するバグレポートがいくつかあります。それらのうちのいくつかは解決されません。 例えば

とにかく、幸運...

<(そして、あなたが今まで問題を引き起こしていたものを見つけた場合は、私は興味がある;-))

+0

xdebugのバージョンを2.0.5から2.1にアップグレードし、segfaultが消えました。ポインタをありがとう! –

+0

歓迎します:-)情報をありがとう! –

0

PHPのSegfaultsは確かに難しいことがあります。

PHPUnit 3.4を実行していますか?ちょうど数週間前に$this->selectWindow()コールとnullパラメータを使用すると、Seleniumの統合で報告されたthere's a bugのように見えます。

+0

感謝を。私は実際にPHPUnitの3.3を使用しており、selectWindow()をどこにも使用していません。 –

0

xdebugのは、セグメンテーション違反を引き起こしている場合は、すべてでxdebugのを使用していないテスト・カバレッジ・ツール、ちょうど標準のPHPサーバーの使用に切り替えることができます応答のための

Semantic Designs PHP Test Coverage

関連する問題