Подтвердить что ты не робот

Запустите unit test при сохранении файла в PhpStorm

Я установил PhpStorm 5 с PHPUnit, и мне любопытно, есть ли у PhpStorm некоторые функции, которые будут автоматически запускать unit test при сохранении файла. Как часы и охранник. Я попытался найти наш любимый www и документы PhpStorm, но не смог найти решение для него.

4b9b3361

Ответ 1

Начиная с версии 6, PHPStorm имеет "Хранители файлов"

  • Откройте настройки проекта.
  • Выберите "Наблюдатели файлов" в списке слева.
  • Нажмите на символ + внизу пустой правой панели.
  • Выберите <custom>

Вам нужно будет создать командную строку для PHPUnit, она не будет интегрированным тестированием, но вы можете получить ошибки на консоли (это хороший старт!)

Доступны различные параметры макроса, поэтому вы можете включить (например) $FileNameWithoutExtension$Test.php в аргументы, переданные в вашу командную строку.

Мне лично пришлось создать двух наблюдателей. Первые обнаруженные изменения в файлах проекта, а вторая обнаруженные изменения в тестовых файлах (вторая не добавила Test.php к имени файла). Я также создал новую область проекта, чтобы исключить каталоги тестов из первого наблюдателя.

Вы также можете отключить немедленную синхронизацию, поскольку это приводит к тому, что PHPUnit запускается, когда PHPStorm автоматически сохраняет файлы.

Мои другие настройки:

  • Тип файла: PHP files (PHP)
  • Область действия: Project excluding tests
  • Программа: /path/to/php
  • Аргументы: /path/to/phpunit --configuration /path/to/phpunit.xml.dist /path/to/tests/$FileNameWithoutExtension$Test.php
  • Рабочий каталог: $FileDir$
  • Пути вывода: $FileDir$

Нет установленных выходных фильтров, проверки синтаксической ошибки и консоли, показывающей ошибки.

Ответ 3

Вы также можете посмотреть TDDRunner

Это консольный инструмент, который автоматически запускает PHPUnit при изменении файла. Вы также можете настроить PHPUnit, исключив только один файл.

/usr/bin/tddrunner --group=test

Там есть немецкая статья, в которой подробно описываются.