diff --git a/lib/Cake/TestSuite/CakeTestSuiteDispatcher.php b/lib/Cake/TestSuite/CakeTestSuiteDispatcher.php index 3f470f712..940fef400 100644 --- a/lib/Cake/TestSuite/CakeTestSuiteDispatcher.php +++ b/lib/Cake/TestSuite/CakeTestSuiteDispatcher.php @@ -136,9 +136,19 @@ class CakeTestSuiteDispatcher { if (class_exists('PHPUnit_Framework_TestCase')) { return true; } - foreach (App::path('vendors') as $vendor) { + $phpunitPath = 'phpunit' . DS . 'phpunit'; + if (defined('PHP_WINDOWS_VERSION_MAJOR')) { + $composerGlobalDir[] = env('APPDATA') . DS . 'Composer' . DS . 'vendor' . DS; + } else { + $composerGlobalDir[] = env('HOME') . DS . '.composer' . DS . 'vendor' . DS; + } + $vendors = array_merge(App::path('vendors'), $composerGlobalDir); + foreach ($vendors as $vendor) { $vendor = rtrim($vendor, DS); - if (is_dir($vendor . DS . 'PHPUnit')) { + if (is_dir($vendor . DS . $phpunitPath)) { + ini_set('include_path', $vendor . DS . $phpunitPath . PATH_SEPARATOR . ini_get('include_path')); + break; + } elseif (is_dir($vendor . DS . 'PHPUnit')) { ini_set('include_path', $vendor . PATH_SEPARATOR . ini_get('include_path')); break; }