3. Конфигурационный XML-файл
Атрибуты элемента можно использовать для настройки основной функциональности PHPUnit.
="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/|version|/phpunit.xsd" backupGlobals="true" backupStaticAttributes="false" ="/path/to/bootstrap.php"--> cacheTokens="false" colors="false" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" forceCoversAnnotation="false" mapTestClassNameToCoveredClassName="false" printerClass="PHPUnit\TextUI\ResultPrinter" ="/path/to/ResultPrinter.php"--> processIsolation="false" stopOnError="false" stopOnFailure="false" stopOnIncomplete="false" stopOnSkipped="false" stopOnRisky="false" testSuiteLoaderClass="PHPUnit\Runner\StandardTestSuiteLoader" ="/path/to/StandardTestSuiteLoader.php"--> timeoutForSmallTests="1" timeoutForMediumTests="10" timeoutForLargeTests="60" verbose="false">
Конфигурация XML выше соответствует поведению по умолчанию исполнителя тестов TextUI, описанному в Опции командной строки .
Дополнительные опции, недоступные в качестве опций командной строки:
- E_WARNING
- E_NOTICE
- E_USER_ERROR
- E_USER_WARNING
- E_USER_NOTICE
- E_STRICT
- E_RECOVERABLE_ERROR
- E_DEPRECATED
- E_USER_DEPRECATED
Когда установлено значение false , обработчик ошибок, установленный convertErrorsToExceptions , не будет преобразовывать ошибки E_NOTICE , E_USER_NOTICE или E_STRICT в исключения.
Когда установлено значение false , обработчик ошибок, установленный convertErrorsToExceptions , не будет преобразовывать ошибки E_WARNING или E_USER_WARNING в исключения.
Покрытие кода будет записываться только для тестов, в которых используется аннотация @covers , задокументированная в @covers .
Если применяется ограничение по времени, основанное на размере теста, тогда этот атрибут устанавливает тайм-аут для всех тестов, отмеченных как @large . Если тест не завершится в течение установленного тайм-аута, он завершится неудачей.
Если применяется ограничение по времени, основанное на размере теста, тогда этот атрибут устанавливает тайм-аут для всех тестов, отмеченных как @medium . Если тест не завершится в течение установленного тайм-аута, он завершится неудачей.
Если применяется ограничение по времени, основанное на размере теста, тогда этот атрибут установит тайм-аут для всех тестов, не отмеченных как @medium или @large . Если тест не завершится в течение установленного тайм-аута, он завершится неудачей.
Набор тестов
Элемент и его один или несколько дочерних элементов можно использовать для составления набора тестов из наборов тестов и тестовых классов.
name="Мой набор тестов"> /path/to/*Test.php files /path/to/MyTest.php /path/to/exclude
Используя атрибуты phpVersion и phpVersionOperator можно указать требуемую версию PHP. В приведённом ниже примере будут добавлены только файлы /path/to/*Test.php и файл /path/to/MyTest.php , если версия PHP не менее 5.3.0.
name="My Test Suite"> suffix="Test.php" phpVersion="5.3.0" phpVersionOperator=">=">/path/to/files phpVersion="5.3.0" phpVersionOperator=">=">/path/to/MyTest.php
Атрибут phpVersionOperator не является обязательным и по умолчанию >= .
Группы
Элемент и его дочерние элементы , и можно использовать для выбора групп тестов, отмеченных аннотацией @group (описанных в @group ), которые должны (или не должны) выполняться.
Вышеприведённая конфигурация XML соответствует вызову исполнителя тестов TextUI со следующими опциями:
Файлы в белом списке для покрытия кода
Элемент и его дочерние элементы можно использовать для настройки белого списка при создании отчёта о покрытии кода.
processUncoveredFilesFromWhitelist="true"> suffix=".php">/path/to/files /path/to/file suffix=".php">/path/to/files /path/to/file
Логирование
Элемент и его дочерние элементы можно использовать для настройки логирования выполнения тестов.
type="coverage-html" target="/tmp/report" lowUpperBound="35" highLowerBound="70"/> type="coverage-clover" target="/tmp/coverage.xml"/> type="coverage-php" target="/tmp/coverage.serialized"/> type="coverage-text" target="php://stdout" showUncoveredFiles="false"/> type="junit" target="/tmp/logfile.xml"/> type="testdox-html" target="/tmp/testdox.html"/> type="testdox-text" target="/tmp/testdox.txt"/>
Вышеприведённая конфигурация XML соответствует вызову исполнителя тестов TextUI со следующими опциями:
- —coverage-html /tmp/report
- —coverage-clover /tmp/coverage.xml
- —coverage-php /tmp/coverage.serialized
- —coverage-text
- > /tmp/logfile.txt
- —log-junit /tmp/logfile.xml
- —testdox-html /tmp/testdox.html
- —testdox-text /tmp/testdox.txt
Атрибуты lowUpperBound , highLowerBound , showUncoveredFiles не имеет эквивалента опции исполнителя тестов TextUI.
- lowUpperBound : Максимальный процент покрытия, который считается «низко» покрытым.
- highLowerBound : Минимальный процент покрытия, который считается «высоко» покрытым.
- showUncoveredFiles : Показать все файлы в белом списке при выводе с опцией —coverage-text , а не только те, для которых есть информация о покрытии.
- showOnlySummary : Показать только краткую сводку в выводе при использовании —coverage-text .
Обработчики тестов
Элемент и его дочерние элементы можно использовать для присоединения дополнительных обработчиков теста к выполнению теста.
class="MyListener" file="/optional/path/to/MyListener.php"> key="0"> Sebastian 22 April 19.78 class="stdClass"/>
Вышеприведённая конфигурация XML соответствует прикреплению объекта $listener (см. ниже) к выполнению теста:
$listener = new MyListener( ['Sebastian'], 22, 'April', 19.78, null, new stdClass );
Регистрация расширений TestRunner
Элемент и его дочерние элементы можно использовать для регистрации пользовательских расширений TestRunner.
Пример 3.4 показывает, как зарегистрировать такое расширение.
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/7.1/phpunit.xsd"> class="Vendor\MyExtension"/>
Установка INI-настроек, констант и глобальных переменных PHP
Элемент и его дочерние элементы можно использовать для настройки параметров, констант и глобальных переменных PHP. Он может также использоваться для добавления новых путей в опцию include_path .
. name="foo" value="bar"/> name="foo" value="bar"/> name="foo" value="bar"/> name="foo" value="bar"/> name="foo" value="bar"/> name="foo" value="bar"/> name="foo" value="bar"/> name="foo" value="bar"/> name="foo" value="bar"/> name="foo" value="bar"/>
Вышеприведённая конфигурация XML соответствует следующем коду PHP:
ini_set('foo', 'bar'); define('foo', 'bar'); $GLOBALS['foo'] = 'bar'; $_ENV['foo'] = 'bar'; $_POST['foo'] = 'bar'; $_GET['foo'] = 'bar'; $_COOKIE['foo'] = 'bar'; $_SERVER['foo'] = 'bar'; $_FILES['foo'] = 'bar'; $_REQUEST['foo'] = 'bar';
© Copyright 2018, Sebastian Bergmann. Revision 65b89c43 .
Versions latest Downloads pdf htmlzip epub On Read the Docs Project Home Builds Free document hosting provided by Read the Docs.
Php include path phpunit
Профиль
Группа: Участник
Сообщений: 89
Регистрация: 10.7.2009
Где: Ukraine
Доброго времени суток коллеги.
У меня возникла проблема с установкой(или запуском) PHPUnit.
Уже несколько дней мучаюсь, ничего не помогает. Установил по инструкциям с оф.сайтов и PEAR и PHPUnit. Проверяю в консоли
Код |
C:\Documents and Settings\admin>phpunit |
Warning: require_once(/File/Iterator/Autoload.php): failed to open stream: No su
ch file or directory in C:\Open Server\modules\php\PHP-5.3.16\PEAR\PHPUnit\Autol
oad.php on line 45
Особенно меня бесит вот эта строка (include_path=’.;C:\php\pear’)
В Path путь прописан как надо. В реестре тоже. Откуда берется такой include_path ума не приложу.
Уже всю систему перерыл. нигде этот путь не прописан. Какой то кошмар.
Уже скоро крыша поедет.
Может быть кто то сталкивался с такими проблемами, подскажите как быть?
Как заставить работать ненавистный phpunit?
Это сообщение отредактировал(а) vitaxaprog111 — 25.9.2012, 19:32
Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб
Что несколько отличается от такого — ‘/File/Iterator/Autoload.php’;
Он берется из php.ini. Параметр так и называется include_path
Вообще — немного странно видеть установку web сервера на диск С и запуск его из такого места. Просто в Linux, на котором он обычно работает, не принято создавать каталоги с пробелами в названиях. Да и с русскими буквами возникнут неслабые проблемы, если они случайно появятся в пути. Это, конечно, лечится, но возникающие проблемы не стОят того, чтобы с ними возится. Разумнее всего, imho, подходит к этому делу Denwer — он создает отдельный диск Z, на котором уже и разворачиваются все web-приблуды с каталогами, с принятыми в unix наименованиями и структурой каталогов.
Профиль
Группа: Участник
Сообщений: 89
Регистрация: 10.7.2009
Где: Ukraine
Попробую сейчас поправить.
Добавлено через 9 минут и 29 секунд
Добавлено через 13 минут и 28 секунд
Цитата(ksnk @ 25.9.2012, 19:46) |
Разумнее всего, imho, подходит к этому делу Denwer — он создает отдельный диск Z, на котором уже и разворачиваются все web-приблуды с каталогами, с принятыми в unix наименованиями и структурой каталогов. |
Дело в том, что на денвере такая же самая чепуха. О пробелах я не подумал. Исправлю. Просто опен сервер по умолчанию так устанавливается.
Добавлено через 14 минут и 38 секунд
исправил на require_once ‘File/Iterator/Autoload.php’;
не помогло
Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб
Цитата(vitaxaprog111 @ 25.9.2012, 20:05 ) |
Но вы наверное будете смеяться но у меня в php.ini написано вот что |
Это означает, что запускается не тот php.exe. Не из того каталога, где php.ini. Или параметры какие указаны.
Проверить не сложно.
Нужно в консоли запустить
потом открыть файл t.txt текстовым редактором и проверить где находится php.ini
В самом крайнем случае — можно указать явно в командной строке, где брать php.ini
Это сообщение отредактировал(а) ksnk — 25.9.2012, 22:11
- PHP редакторы собираются и обсуждаются здесь
- Электронные книги по PHP, документацию можно найти здесь
- Интерпретатор PHP, полную документацию можно скачать на PHP.NET
- Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
- Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
- Действия модераторов можно обсудить здесь
- Темы «ищу скрипт», «подскажите скрипт» и т.п. будут переноситься в форум «Web-технологии»
- Темы с именами: «Срочно», «помогите», «не знаю как делать» будут УДАЛЯТЬСЯ
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, [email protected] , skyboy, SamDark, MoLeX, awers.
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |