我正在用 PHPUnit 为 Symfony 编写功能测试,但我的模拟不起作用。不过,我可能误解了它们的工作方式。
在我的单元测试setUp()
方法中,我有以下代码:
...
// Create a stub
$stub = $this->getMockBuilder('\\ApiBundle\\Util\\WordPressBridge')
->disableOriginalConstructor()
->getMock();
// Configure the stub.
$user = new WordPressUser();
$user->setUsername('dummy');
$stub->expects($this->any())
->method('checkCredentials')
->will($this->returnValue(true));
$stub->expects($this->any())
->method('getUser')
->will($this->returnValue($user));
...
在我的 Symfony 应用程序中,我定义了一个服务:
services:
api.wp_bridge:
class: ApiBundle\Util\WordPressBridge
arguments: [@service_container]
我的理解是 mock 应该取代 real WordPressBridge
,但这不是正在发生的事情。我原来的还在用。我错过了什么吗?