对于我正在编写的库,我希望能够模拟exit
PHP函数。
我尝试使用php-mock提供exit
的命名空间版本,例如
namespace MyNamespace;
function exit()
{
// my mocked version of the function
}
但这会给解析器带来问题,解析器抛出以下ParseError
:syntax error, unexpected 'exit' (T_EXIT), expecting '('
。
有没有其他方法来模拟内置函数而不会引发解析问题?我应该尝试使用类似BetterReflection的内容来修改AST吗?
答案 0 :(得分:1)
根据评论,我猜嘲笑语言结构是不可行的。
要测试exit()
我最终使用exec
生成其他进程,并在其输出和存在状态上断言