specificExceptionMessageFactoryMock = $this->createMock(ExceptionMessageFactoryInterface::class); $this->defaultExceptionMessageFactoryMock = $this->createMock(ExceptionMessageFactoryInterface::class); $this->exceptionMessageFactoryMapMock = [ \Magento\Framework\Exception\LocalizedException::class => $this->specificExceptionMessageFactoryMock ]; $this->exceptionMessageFactoryPool = new \Magento\Framework\Message\ExceptionMessageFactoryPool( $this->defaultExceptionMessageFactoryMock, $this->exceptionMessageFactoryMapMock ); } public function testSuccessfulDefaultCreateMessage() { $exception = new \Exception('message'); $this->assertEquals( $this->defaultExceptionMessageFactoryMock, $this->exceptionMessageFactoryPool->getMessageFactory($exception) ); } public function testSuccessfulSpecificCreateMessage() { $localizedException = new LocalizedException(__('message')); $this->assertEquals( $this->specificExceptionMessageFactoryMock, $this->exceptionMessageFactoryPool->getMessageFactory($localizedException) ); } }