diff --git a/src/Framework/TestCase.php b/src/Framework/TestCase.php index 66a38e83363..adba6c1ab78 100644 --- a/src/Framework/TestCase.php +++ b/src/Framework/TestCase.php @@ -945,11 +945,6 @@ public function runBare() $e = $_e; } - if (isset($_e)) { - $this->status = PHPUnit_Runner_BaseTestRunner::STATUS_ERROR; - $this->statusMessage = $_e->getMessage(); - } - // Clean up the mock objects. $this->mockObjects = []; $this->prophet = null; @@ -986,6 +981,11 @@ public function runBare() } } + if (isset($_e)) { + $this->status = PHPUnit_Runner_BaseTestRunner::STATUS_ERROR; + $this->statusMessage = $_e->getMessage(); + } + clearstatcache(); if ($currentWorkingDirectory != getcwd()) { diff --git a/tests/Framework/TestCaseTest.php b/tests/Framework/TestCaseTest.php index b3a20b8caf6..ae2870cbdd0 100644 --- a/tests/Framework/TestCaseTest.php +++ b/tests/Framework/TestCaseTest.php @@ -159,6 +159,7 @@ public function testExceptionInTearDown() $this->assertTrue($test->testSomething); $this->assertTrue($test->assertPostConditions); $this->assertTrue($test->tearDown); + $this->assertEquals(PHPUnit_Runner_BaseTestRunner::STATUS_ERROR, $test->getStatus()); } public function testNoArgTestCasePasses()