【发布时间】:2013-02-09 21:19:20
【问题描述】:
我正在使用 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]
我的理解是模拟应该替换真正的WordPressBridge,但事实并非如此。我原来的还在用。我错过了什么吗?
【问题讨论】:
-
“功能单元测试”是矛盾的。