} } rmdir($directory); }; $directoryIterator = new \DirectoryIterator($directory); $itemIterator = new \IteratorIterator($directoryIterator); foreach ($itemIterator as $item) { if ($item->isDir() && preg_match('|^' . self::$tempPrefix . '|', $item->getBaseName())) { fwrite(STDERR, PHP_EOL . "Removing '{$item->getPathname()}'..."); $removeDirectoryRecursively($item->getPathname()); fwrite(STDERR, " done"); } } fwrite(STDERR, PHP_EOL); } public static function tearDownAfterClass() { self::removeDirectory(self::$tempDir); parent::tearDownAfterClass(); } protected static function invokePrivateMethod($object, $method, array $arguments = []) { $objectReflection = new \ReflectionClass($object); $methodReflection = $objectReflection->getMethod($method); $methodReflection->setAccessible(true); return $methodReflection->invokeArgs($object, $arguments); } } AbstractTestCase::setTempDir(__DIR__ . "/../../temp"); AbstractTestCase::setTempPrefix("test_");