用phpunit定制setcookie实现

时间:2011-12-22 20:16:31

标签: php phpunit setcookie pecl

我试图使用test_helpers PECL扩展来覆盖setcookie实现而没有任何运气。

    $username = 'test';
    set_setcookie_overload(function() { error_log('setcookie called'); return FALSE; });
    setcookie('username', $userName, time()+60*60*24*365, '/');
    unset_setcookie_overload();

我收到此错误:         PHP致命错误:调用未定义的函数set_setcookie_overload()

我验证了扩展程序在此处的示例中运行良好:https://github.com/sebastianbergmann/php-test-helpers

感谢。

更新:为了进一步说明,听起来像test_helpers扩展允许覆盖内置的PHP函数,如setcookie。在上面的链接中,作者提供了一个使用set_exit_overload()覆盖exit方法的示例。我正在尝试使用set_setcookie_overload()为setcookie()做同样的事情而没有任何运气。

1 个答案:

答案 0 :(得分:2)

可以在源over at github中找到可用的功能。以PHP_FUNCTION开头的所有内容都会向用户公开以进行调用。

所以是的。 php-test-helpers中没有set_setcookie_overload()。你必须找到另一种解决方法。

可悲的是,rename_function无法帮助您,因为它不适用于内部功能。

Complete function list of the test_helpers extension