public function testUnlockAfterException() { $this->mutex->expects($this->once())->method("unlock"); try { $this->mutex->synchronized(function () { throw new \DomainException(); }); } catch (\DomainException $e) { // expected } }