PHPUnit带命名空间的getMock()

koe*_*oen 7 php phpunit namespaces

我在PHP中开始使用命名空间的任务仍在继续.这次PHPUnit给了我一些问题.我的setup()方法是这样的:

$test = new \MyNamespace\NonPersistentStorage(); // works
$mock = $this->getMock('\\MyNamespace\\NonPersistentStorage'); // doesn't work
Run Code Online (Sandbox Code Playgroud)

getMock()方法仅导致PHP查找NonPersistentStorage类.不在命名空间内.

问:我需要更改什么才能让getMock()方法查找命名空间中的类?

编辑:双反斜杠不是问题.另见:手册 :(报价)

'在单引号字符串中,反斜杠转义序列使用起来更安全,但仍建议在所有字符串中转义反斜杠作为最佳实践.

编辑:对我来说有用的是Ignace R.答案的评论.

Ign*_*s R 2

对类的字符串引用通常没有前导反斜杠。尝试删除它并告诉我们它是否有效。

编辑:如果没有,请尝试使用class_alias在全局命名空间中为该类创建别名。然而,这将是一个丑陋的解决方案......