PHP中的Mock exit()函数

PHP中的Mock exit()函数,php,unit-testing,reflection,abstract-syntax-tree,monkeypatching,Php,Unit Testing,Reflection,Abstract Syntax Tree,Monkeypatching,对于我正在编写的库,我希望能够模拟exitPHP函数 我尝试使用来提供exit的命名空间版本,类似于 namespace MyNamespace; function exit() { // my mocked version of the function } 但是这给解析器带来了问题,它抛出了以下ParseError:语法错误,意外的'exit'(T_exit),应该是'(') 有没有其他方法可以模拟内置函数而不引起解析问题?我是否应该尝试用类似的东西修改AST?根据评论,我猜模拟

对于我正在编写的库,我希望能够模拟
exit
PHP函数

我尝试使用来提供
exit
的命名空间版本,类似于

namespace MyNamespace;

function exit()
{
    // my mocked version of the function
}
但是这给解析器带来了问题,它抛出了以下
ParseError
语法错误,意外的'exit'(T_exit),应该是'('


有没有其他方法可以模拟内置函数而不引起解析问题?我是否应该尝试用类似的东西修改AST?

根据评论,我猜模拟语言构造是不可行的


测试
exit()的步骤
我最终用
exec
生成了其他进程,并断言它们的输出和存在状态

exit是一个语言构造,你不能模仿它。exit是一个语言构造,而不是函数。因此,我认为你无法替换它。我认为,即使这个问题的前提是一个有缺陷的假设,它仍然可以确实应该得到+1,特别是考虑到php标记中的信噪比。