警告:“无法在本地找到文件'/ 3'。要修复它,请通过环境变量PHP_IDE_CONFIG设置服务器名称并重新启动调试会话。”

时间:2016-12-15 12:07:45

标签: phpunit phpstorm xdebug

每次我进入方法(prepareStatusFilterQuery()),同时使用debug进行单元测试时,我得到警告并且调试器没有进入方法。警告:

  

无法在本地找到文件'/ 3'。要修复它,请设置服务器名称   环境变量PHP_IDE_CONFIG并重新启动调试会话。

除了这种情况,调试器工作正常。

enter image description here

2 个答案:

答案 0 :(得分:6)

当您尝试单步执行模拟对象的代码时会发生这种情况。

没有解决方案,因为模拟对象是在执行测试期间创建的类的实例。

PHPUnit MockObjects使用reflectiongather information关于你要求它模拟的类(the namesarguments of the public methods)然后它generates的PHP代码新类(扩展模拟类)和runs it using eval()

调试器 实际上已经进入该方法,但是PhpStorm无法显示源代码,因为它没有源代码。继续使用" Step Into"命令,在某些时候,控件将返回到代码(PHPUnit),其源代码从文件加载,PhpStorm可以找到它。

答案 1 :(得分:0)

刚遇到此错误。在我的情况下,它是由缺少private关键字的方法引起的:

class SomeClass {
    function some_function_name () {
    }   
}

应该是这样的:

class SomeClass {
    private function some_function_name () {
    }
}