Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHPUnit中模拟concat函数_Php_Unit Testing_Mocking_Phpunit - Fatal编程技术网

在PHPUnit中模拟concat函数

在PHPUnit中模拟concat函数,php,unit-testing,mocking,phpunit,Php,Unit Testing,Mocking,Phpunit,我试图模仿下面这句话: $this->entity_manager->getRepository('Bundle:Core')->getActive(); 我怎么能模仿这句台词? 我知道你可以这样嘲笑getRespository: $entityManagerStub = $this->getMockBuilder('Doctrine\ORM\EntityManager')->disableOriginalConstructor()->getMock();

我试图模仿下面这句话:

$this->entity_manager->getRepository('Bundle:Core')->getActive();
我怎么能模仿这句台词? 我知道你可以这样嘲笑getRespository:

$entityManagerStub = $this->getMockBuilder('Doctrine\ORM\EntityManager')->disableOriginalConstructor()->getMock();
$entityManagerStub->method('getRepository')->with('Bundle:Core');
但是我怎样才能模拟getActive函数呢? 这样的事情行得通吗

$entityManagerStub->method('getRepository')->method('getActive')->with('Example');

使用新解决方案进行后期编辑

处理模拟问题的新库使我的生活更加轻松:

$entityManagerStub = ShortifyPunit::mock('Doctrine\ORM\EntityManager');

ShortifyPunit::when($entityManagerStub)->getRepository('Bundle:Core')->
               getActive()->returns($mockingResponse);