在persist Mock对象中获取错误

时间:2016-12-21 11:56:50

标签: mocking phpunit

我正在研究PHPUnit测试用例,因此需要创建模拟对象但是会收到错误

代码:

UserControllerTest.php:

$user = $this->getMock('\User', array('Methods Name'));
$user->expects($this->once())
    ->method('Methods Name');

从我的控制器传递此User Mock对象:

userControllerService->userRequest($user);

我在UserController中的userRequest():

$objUserRequest->setUser($user`);

我需要在DB中保留这个用户对象但抛出"传递给的参数1必须是MyBundle \ Entity \ MyEntity的一个实例,Mock_MyEntity_183626da的实例给出"

1 个答案:

答案 0 :(得分:2)

\ User类必须是完全限定的 - 要么添加完整的命名空间(即使您使用use语句,仍需要完全限定的路径)或使用User::class

$this->getMock('\Full\Path\Required\User', ['Methods Name']);
$this->getMock(User::class); // if you have the namespace in the file with 'use'