/** * Test fail execute * * @expectedException \InvalidArgumentException * @expectedExceptionMessage Some exception */ public function testExecuteFail() { $this->channel->expects($this->at(0))->method('startTransaction'); $this->channel->expects($this->at(1))->method('rollbackTransaction'); $transactional = new AmqpTransactional($this->channel); $transactional->execute(function () { throw new \InvalidArgumentException('Some exception'); }); }