每次我进入方法(prepareStatusFilterQuery()
),同时使用debug进行单元测试时,我得到警告并且调试器没有进入方法。警告:
无法在本地找到文件'/ 3'。要修复它,请设置服务器名称 环境变量PHP_IDE_CONFIG并重新启动调试会话。
除了这种情况,调试器工作正常。
答案 0 :(得分:6)
当您尝试单步执行模拟对象的代码时会发生这种情况。
没有解决方案,因为模拟对象是在执行测试期间创建的类的实例。
PHPUnit MockObjects使用reflection到gather information关于你要求它模拟的类(the names和arguments 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 () {
}
}