2009-05-10 18 views
3

現時点では、低レベルのソースコード​​を、PHP -codeに分解する種類のコンパイラで作業しています。PHP言語(ユニット)テスト

タイプシステムと多くのPHPの機能は論理的ではないので、私のコードがPHPのように動作することを確認するために多くのテストスクリプトが必要です。

私はPHPソース(here)からテストですべてをテストし始めました。しかし、多くのテストは言語特有ではなく、ウェブサーバーの処理(POSTデータなど)からのいくつかの機能も含んでいます。PHPを言語としてテストする他のテストはありますか?スクリプトそのものがPHPで書かれているのが最善です。

答えて

0

私はあなたを誤解しているかもしれませんが、これはあなたが探しているものかもしれません。
http://www.simpletest.org/

彼らはJUnitのように設計されていますが、説明によればphpのために設計されています。

1

PHPのZend実装のようにセマンティクスが動作することを検証しているなら、PHP自体のBNFから文法を生成するための自動ツールを構築することをお勧めします。このようにして、多くのセマンティクスを表現する.phpファイルがたくさんあります。生成されたファイルには、多くのトレースコードを含めてください。

次に、Zendの実装とそれを実行して、同じ検証を受けるようにします。あなたもそれをキャッチするためにいくつかの壊れたコード生成を使用してください。あなたの実装が正しいことが分かっているとき(癖付きで)に進むことができます。

http://llvm.org/devmtg/2008-08/Lopes_PHP-JIT-InTwoDays.pdf参考になる場合があります。 LLVM用のPHP JITを構築する人を見てください。既存の実装に対する言語構文とセマンティクスの妥当性をテストする方法に関するいくつかの情報を提供するかもしれません。