duanbo1659 2013-04-08 16:54
浏览 38

phpunit autoload clashes,phpunit autoload被覆盖

My FW uses an autoload function, which I add via spl_autoload_register('autoload');
I run phpunit on a directory. After it executes the first test, the system crashes with:

PHP Fatal error:  require_once(): 
Failed opening required 'PHPUnit/Extensions/SeleniumTestCase.php' (include_path='.:/ ......)
in /home/test/functions.php on line 139

This points to my autolaod function, and not the one phpunit is suppose to use.
Does this mean my function is being used first, and then the phpunit one, and it crashes in my function?

If I change my autoload to use include instead of require_once it will work fine. So I guess this is an order of autoload functions issue.

  • 写回答

1条回答 默认 最新

  • duanchen9594 2013-04-08 16:58
    关注

    You should use include_once instead of require_once in your autoload function, it will avoid to fatal if the file is not found.

    Or you can put your autoloader at the end of the SPL autoloader stack by using

    spl_autoload_register('autoload', true, true);
    

    Giving your bootstrap to phpunit, can probably fix the issue. In your phpunit.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <phpunit bootstrap="bootstrap.php">
    </phpunit>
    
    评论

报告相同问题?

悬赏问题

  • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
  • ¥15 unity连接Sqlserver
  • ¥15 图中这种约束条件lingo该怎么表示出来
  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥15 流式socket文件传输答疑
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接