addMockeryExpectationsToAssertionCount(); $this->checkMockeryExceptions(); $this->closeMockery(); parent::assertPostConditions(); } protected function addMockeryExpectationsToAssertionCount() { $this->addToAssertionCount(Mockery::getContainer()->mockery_getExpectationCount()); } protected function checkMockeryExceptions() { if (!method_exists($this, "markAsRisky")) { return; } foreach (Mockery::getContainer()->mockery_thrownExceptions() as $e) { if (!$e->dismissed()) { $this->markAsRisky(); } } } protected function closeMockery() { Mockery::close(); $this->mockeryOpen = false; } /** * @before */ protected function startMockery() { $this->mockeryOpen = true; } /** * @after */ protected function purgeMockeryContainer() { if ($this->mockeryOpen) { // post conditions wasn't called, so test probably failed Mockery::close(); } } }