public function logException(\Exception $exception, \PhpUnitTestGenerator\Testable\Object $object) { $file = Configuration::getInstance()->getTargetDirectory() . DIRECTORY_SEPARATOR . "test-generator-error.log"; if (!file_exists(Configuration::getInstance()->getTargetDirectory())) { mkdir(Configuration::getInstance()->getTargetDirectory()); chmod(Configuration::getInstance()->getTargetDirectory(), 0755); } file_put_contents($file, $exception->getMessage() . " in file " . $object->getFilename() . "\n\n", FILE_APPEND); //file_put_contents($file, serialize($exception) . "\n\n\n"); }
/** * generate one test from a single testable object and writes it to fs * * @param \PhpUnitTestGenerator\Testable\Object $object * @return \PhpUnitTestGenerator\Generator\Test */ public function generateTestFromTestable(\PhpUnitTestGenerator\Testable\Object $object) { $test = new Test($this->getFilenameOfTestByOriginalFilename($object->getFilename()), $object); $test->setBaseClass($this->configuration->getBaseClass()); $isTestFinalized = false; foreach ($this->getObjectProviders() as $objectProvider) { /* @var $objectProvider Provider\Definition\ObjectInterface */ if (true === $objectProvider->canHandleTestableObject($object)) { if (true === $objectProvider->canFinalizeTestableObject($object)) { $objectProvider->handleTestableObject($object, $test); $isTestFinalized = true; } elseif ($isTestFinalized === false) { $objectProvider->handleTestableObject($object, $test); } } } if ($isTestFinalized === false) { foreach ($this->getMethodProviders() as $methodProvider) { /* @var $methodProvider Provider\Definition\MethodInterface */ foreach ($test->getTestedMethods() as $testMethod) { try { if (true === $methodProvider->canHandleTestableMethod($testMethod)) { if (true === $methodProvider->canFinalizeTestableMethod($testMethod)) { $methodProvider->handleTestableMethod($testMethod); $test->addTestedMethod($testMethod); $isTestFinalized = true; } elseif ($isTestFinalized) { $methodProvider->handleTestableMethod($testMethod); $test->addTestedMethod($testMethod); } } } catch (\Exception $e) { Logger::getInstance()->logException($e, $object); } } } } /**/ $test->write(); return $test; }