public function testingLoggerExceptionPropagation() { // Arrange $this->setExpectedException('\\InvalidArgumentException', 'bar'); $magoo = new Magoo(); $magoo->pushEmailMask(); $loggerMockBuilder = $this->getMockBuilder('Monolog\\Logger'); $loggerMockBuilder->disableOriginalConstructor(); $loggerMock = $loggerMockBuilder->getMock(); $loggerMock->expects($this->once())->method('info')->willThrowException(new \InvalidArgumentException('bar')); $magooLogger = new MagooLogger($loggerMock, $magoo); // Act $magooLogger->info('foo'); }