测试概览
PHP 有一个庞大的测试套件,包含 15000 多个单独的测试文件。这些测试文件通过 PHP 的黑盒测试工具 run-tests.php 运行,该工具位于 php 源代码的根目录下。
但是等等!你说,我听说 PHP 源代码没有任何单元测试。你是对的。PHP 源代码没有任何单元测试。但它确实有 功能测试,而且幸运的是,这些特定的功能测试都是用 PHP 编写的。测试文件的扩展名为 .phpt
,可以像其他普通的 PHP 文件一样运行。
编写 phpt 测试的官方文档位于 qa.php.net。
黑箱测试
简而言之, 黑盒测试 是向某个函数发送输入,并在函数执行完毕后检查输出。如果输出结果符合我们的预期,那么测试就通过了。黑盒测试并不关心事情是如何完成的,它只关心最终结果。这正是 run-tests.php
的工作原理;它接收一组输入,运行一些 PHP 代码,然后检查输出。如果输出结果与预期相符,则测试通过。