Как использовать phpunit, установленный из composer?


Я хочу начать модульное тестирование моего приложения symfony 2 с помощью phpunit. Я установил phpunit с помощью composer (в зависимости от проекта). http://www.phpunit.de/manual/current/en/installation.html

Как теперь запустить команду phpunit на сервере Zend? У меня нет груши установлен.

6 54

6 ответов:

если вы следовали документации, установлено phpunit/phpunit зависимость как "dev-зависимость".

если у вас нет композитора, вам нужно сначала установить его. Это объясняется в документации:установка *nix или Установка Windows. Если вы уже установили composer, рекомендуется обновить composer до последней версии, запустив :

$ php composer.phar self-update

после этого вам нужно установка всех зависимостей, включая зависимости dev. Это делается путем запуска с --dev переключатель:

$ php composer.phar update --dev

все зависимости установлены, в . PHPunit запускается с консоли. Composer автоматически помещает файлы консоли внутрь . Вам нужно выполнить здесь:

$ vendor/bin/phpunit -c app/

The -c переключатель говорит PHPUnit искать файл конфигурации в app каталог, Symfony2 уже настроил правильную конфигурацию для запуска всех тестов, которые находятся в .

обновление (05-04-2013)

композитор изменил свои команды обновления / установки. update установит зависимости dev по умолчанию, и если вы хотите установить зависимости dev, вам нужно использовать .

обновление (11-06-2013)

композитор снова изменил свои команды,install команда также установит Дев зависимости.

Как насчет более композитор способ?

composer exec phpunit

Он может быть использован для каждого двоичного файла в каталоге vendor/bin.

обновление (12-02-2014)

композитор и PHPUnit снова изменили свои команды. Команда install также установит зависимости dev:

композитор.json:

...
"require-dev": {
    "phpunit/phpunit": "3.7.*"
},

запустить его:

$ composer.phar update --prefer-dist --dev

Теперь вы можете запустить свои тесты:

$ bin/phpunit -c /app

спасибо,

мне нравится определять скрипт внутри composer.json, Так что я могу просто запустить:

$ composer test
# ... runs phpunit

для этого мне нужно изменить composer.json чтобы содержать такую строчку:

"scripts": {
    "test": [
        "phpunit tests/*.php"
    ]
}

для Symfony 3 Добавить "phpunit/phpunit": "5.4.*" до в своем composer.json и запустить тесты из корневого каталога приложений с помощью:

./vendor/bin/phpunit tests

добавить его в качестве зависимости dev, в каталоге проекта:

composer require --dev "phpunit/phpunit=4.8.*"

установленный phpunit теперь может быть выполнен с помощью:

./vendor/bin/phpunit