getMockBuilder(AdapterFactory::class) ->disableOriginalConstructor() ->getMock(); $this->adapter = $this->getMockBuilder(AdapterInterface::class) ->disableOriginalConstructor() ->getMockForAbstractClass(); $adapterFactory->expects($this->once())->method('create')->willReturn($this->adapter); $this->searchEngine = $helper->getObject( SearchEngine::class, [ 'adapterFactory' => $adapterFactory, ] ); } public function testSearch() { $request = $this->getMockBuilder(RequestInterface::class) ->disableOriginalConstructor() ->getMockForAbstractClass(); $response = $this->getMockBuilder(ResponseInterface::class) ->disableOriginalConstructor() ->getMockForAbstractClass(); $this->adapter->expects($this->once()) ->method('query') ->with($request) ->willReturn($response); $result = $this->searchEngine->search($request); $this->assertInstanceOf(ResponseInterface::class, $result); } }