В PHPStorm есть специальный скрипт запуска PHPUnit ( ide-phpunit.php
), который он использует внутри для работы с различными версиями PHPUnit и для интеграции с IDE, и который просто полагается на путь включения и расположение папок PEAR
.
Для этого он выполняет:
public static function checkIncludePath()
{
//check include path
$PHPUnitParentDirectory = self::getPHPUnitParentDirectory();
if (is_null($PHPUnitParentDirectory)) {
echo "Cannot find PHPUnit in include path (" . ini_get('include_path') . ")";
exit(IDE_PHPUnit_Loader::FAILURE_EXIT);
}
}
/**
* @return null | string
*/
private static function getPHPUnitParentDirectory()
{
$pathArray = explode(PATH_SEPARATOR, ini_get('include_path'));
foreach ($pathArray as $path)
{
if (file_exists($path . DIRECTORY_SEPARATOR . 'PHPUnit/')) {
return $path;
}
}
return null;
}
Вы можете просто установить его через композитор и добавить как обычный исполняемый файл (ant/phing/native task), но вы потеряете все блестящие функции, которые предлагает PHPStorm, такие как индикатор выполнения, переход к неудачному тесту и поддержку покрытия кода.
Таким образом, из кода вы можете сказать, что вам нужно добавить папку с именем PHPUnit
в одно из мест вашего пути включения. Здесь может помочь добавление поставщика, но имейте в виду, что при этом при этом должен соблюдаться регистр.
Пока PHPStorm не поддерживает использование PHPUnit из composer или phar, я не думаю, что вы получите лучшую интеграцию ( http://youtrack.jetbrains.com/issue/WI-13429
) с использованием его из груши, но взлом вашего пути включения может сработать.
Ребята из PHPStorm сделали несколько обновлений для раннера для версии 3.7 и обычно очень быстро реагируют на изменения в PHPUnit :)
person
edorian
schedule
10.10.2012