繁体   English   中英

PHP语言(单元)测试

[英]PHP language (unit) tests

目前我在一种编译器上工作(只是为了好玩),这种编译器将PHP代码分解为低级VM的源代码。

由于类型系统和许多PHP特征不是那么合乎逻辑,我需要一些测试脚本来验证我的代码在PHP行为。

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM