diff --git a/src/Framework/TestCase.php b/src/Framework/TestCase.php index d9932648201..10e3dca73a2 100644 --- a/src/Framework/TestCase.php +++ b/src/Framework/TestCase.php @@ -670,6 +670,8 @@ public function run(PHPUnit_Framework_TestResult $result = null) $includePath = "'." . $includePath . ".'"; $codeCoverageFilter = "'." . $codeCoverageFilter . ".'"; + $configurationFilePath = (isset($GLOBALS['__PHPUNIT_CONFIGURATION_FILE']) ? $GLOBALS['__PHPUNIT_CONFIGURATION_FILE'] : ''); + $template->setVar( array( 'composerAutoload' => $composerAutoload, @@ -690,7 +692,8 @@ public function run(PHPUnit_Framework_TestResult $result = null) 'isStrictAboutOutputDuringTests' => $isStrictAboutOutputDuringTests, 'isStrictAboutTestSize' => $isStrictAboutTestSize, 'isStrictAboutTodoAnnotatedTests' => $isStrictAboutTodoAnnotatedTests, - 'codeCoverageFilter' => $codeCoverageFilter + 'codeCoverageFilter' => $codeCoverageFilter, + 'configurationFilePath' => $configurationFilePath ) ); diff --git a/src/TextUI/TestRunner.php b/src/TextUI/TestRunner.php index 66df075847e..94909d98366 100644 --- a/src/TextUI/TestRunner.php +++ b/src/TextUI/TestRunner.php @@ -142,6 +142,10 @@ private function processSuiteFilters(PHPUnit_Framework_TestSuite $suite, array $ */ public function doRun(PHPUnit_Framework_Test $suite, array $arguments = array()) { + if (isset($arguments['configuration'])) { + $GLOBALS['__PHPUNIT_CONFIGURATION_FILE'] = $arguments['configuration']; + } + $this->handleConfiguration($arguments); $this->processSuiteFilters($suite, $arguments); diff --git a/src/Util/PHP/Template/TestCaseMethod.tpl.dist b/src/Util/PHP/Template/TestCaseMethod.tpl.dist index ed90c9c24f8..e595099439a 100644 --- a/src/Util/PHP/Template/TestCaseMethod.tpl.dist +++ b/src/Util/PHP/Template/TestCaseMethod.tpl.dist @@ -70,6 +70,13 @@ function __phpunit_run_isolated_test() ); } +$configurationFilePath = '{configurationFilePath}'; + +if ('' !== $configurationFilePath) { + $configuration = PHPUnit_Util_Configuration::getInstance($configurationFilePath); + $configuration->handlePHPConfiguration(); +} + {constants} {included_files} {globals}