PHP语言(单元)测试

时间:2009-05-10 13:40:37

标签: php unit-testing testing virtual-machine implementation

目前我在一种打破PHP的编译器上工作(只是为了好玩) - 代码为低级VM的源代码。

由于类型系统和许多PHP - 功能不合逻辑,我需要一些测试脚本来验证我的代码的行为与PHP中的行为一样。

我开始使用PHP - 来源(here)测试所有内容。但是很多测试不仅仅是语言特定的,它们还包含来自Web服务器处理的一些功能(POST数据等)是否还有其他测试来测试PHP作为一种语言?如果脚本本身是用PHP编写的,那就最好了。

2 个答案:

答案 0 :(得分:1)

如果您确认您的语义与PHP的Zend实现中的行为相同,那么我建议构建一个自动化工具来从PHP本身的BNF生成语法。这样你就会有很多表达大部分语义的.php文件。请务必在生成的文件中包含大量跟踪代码。

然后通过Zend实现运行它,以确保获得相同的验证。使用一些损坏的代码生成以确保您也能捕获它。只有当你知道你的实施是正确的(有怪癖)时,你才能继续前进。

http://llvm.org/devmtg/2008-08/Lopes_PHP-JIT-InTwoDays.pdf可能有所帮助。看看为LLVM构建PHP JIT的人。可能会提供一些信息,说明它们如何针对现有实现测试语言语法和语义的有效性。

答案 1 :(得分:0)

我可能会误解你,但这可能是你在寻找什么? http://www.simpletest.org/

他们把它设计成像JUnit,但对于php,根据描述。

相关问题