2016-03-01 2 views
0

Я новичок в phpUnit. Я установил его с помощью композитора. Мой composer.json заключается в следующем:Vagrant: phpUnit not found (symfony 2.8)

"require": { 
    "php": ">=5.5.9", 
    "symfony/symfony": "^2.8", 
    "doctrine/orm": "^2.5", 
    "doctrine/doctrine-bundle": "^1.6", 
    "doctrine/doctrine-cache-bundle": "^1.2", 
    "symfony/swiftmailer-bundle": "^2.3", 
    "symfony/monolog-bundle": "^2.8", 
    "sensio/distribution-bundle": "^5.0", 
    "sensio/framework-extra-bundle": "^3.0.2", 
    "incenteev/composer-parameter-handler": "^2.0", 
    "doctrine/mongodb-odm": "~1.0", 
    "doctrine/mongodb-odm-bundle": "~3.0", 
    "nicmart/tree": "~0.2", 
    "jms/serializer-bundle": "^1.1", 
    "simple-bus/symfony-bridge": "^4.1", 
    "phpunit/phpunit":">=4.2", 
    "codeception/codeception": "*", 
    "nicolopignatelli/valueobjects": "^4.0" 

}, 
"require-dev": { 
    "sensio/generator-bundle": "^3.0", 
    "symfony/phpunit-bridge": "^2.7" 
    } 

во composer update, я получил
- Установка PHPUnit/PHPUnit (5.2.9)

и я вижу каталог PHPUnit в моих поставщиков.

сейчас пока просто пытаюсь вывести версию PHPUnit (или при попытке начать тестирование), я получаю следующее сообщение об ошибке:

[email protected]:root/path/of/symfony$ phpunit -v The program 'phpunit' is currently not installed. To run 'phpunit' please ask your administrator to install the package 'phpunit'

есть любой вид ярлыка для создания в Баше?

UPDATE

как предложено 2 текущих ответов, я попытался запустить [email protected]:root/path/of/symfony$ ./vendor/bin/phpunit -v

но она возвращает permission denied исключения, несмотря на то, текущий пользователь (я @ моя_машина) является FileOwner.

Кроме того, [email protected]:root/path/of/symfony$ ls -l ./vendor/bin возвращает

-rw-rw-rw- 1 me me 612 Mar 1 09:52 codecept 
-rw-rw-rw- 1 me me 603 Jan 28 13:50 doctrine 
-rw-rw-rw- 1 me me 609 Jan 28 13:50 doctrine-dbal 
-rw-rw-rw- 1 me me 607 Jan 28 13:50 doctrine.php 
-rw-rw-rw- 1 me me 608 Feb 24 19:20 geotools 
-rw-rw-rw- 1 me me 603 Mar 1 09:52 phpunit 
-rw-rw-rw- 1 me me 978 Jan 20 12:15 security-checker 

и если попытаться chmod -vR u+x ./vendor/bin он возвращается, как ожидали

mode of ‘bin/’ changed from 0777 (rwxrwxrwx) to 0766 (rwxrw-rw-)

mode of ‘bin/phpunit’ changed from 0666 (rw-rw-rw-) to 0766 (rwxrw-rw-)

но [email protected]:root/path/of/symfony$ ls -l ./vendor/binснова возвращается

-rw-rw-rw- 1 me me 612 Mar 1 09:52 codecept 
-rw-rw-rw- 1 me me 603 Jan 28 13:50 doctrine 
-rw-rw-rw- 1 me me 609 Jan 28 13:50 doctrine-dbal 
-rw-rw-rw- 1 me me 607 Jan 28 13:50 doctrine.php 
-rw-rw-rw- 1 me me 608 Feb 24 19:20 geotools 
-rw-rw-rw- 1 me me 603 Mar 1 09:52 phpunit 
-rw-rw-rw- 1 me me 978 Jan 20 12:15 security-checker 

как chmod не был принят во внимание.

UPDATE 2

, по-видимому, эта проблема связана с Vagrant.

Я полностью установил symfony, в версии 2.8 и 3.0, и проблема остается прежней.

Я нашел this similar issue и поэтому выбрал для установки phpUnit глобально composer global require phpunit/phpunit, а затем снова запустить phpunit -v. На этот раз команда найдена, но я получил следующую ошибку

[email protected]:/path/to/symfony/root$ phpunit -v 
PHPUnit 4.8.23 by Sebastian Bergmann and contributors. 

Runtime:  PHP 5.6.14-1+deb.sury.org~trusty+1 
Configuration: /var/www/public/symfony/sgv3/sgv3/phpunit.xml.dist 

.                 1/1 (100%) 

Time: 6.86 seconds, Memory: 27.75Mb 

PHP Fatal error: Call to undefined method PHPUnit_Framework_TestResult::warningCount() in /home/vagrant/.composer/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php on line 185 
+0

не вы должны выстраиваться '«PHPUnit/PHPUnit»:«> = 4,2»,' быть в '" требуют -dev "? – rrw

+0

Я пробовал, что (даже я не вижу корреляции), но это не имеет никакого эффекта. –

+0

Вам нужно вызвать конкретный исполняемый файл в каталоге bin вашего проекта, например 'bin/phpunit -h' Вы пробовали это? – rrw

ответ

2

Если установить PHPUnit с помощью Composer, то его двоичным будет vendor/bin/phpunit.

+0

thanx для вашего ответа, но теперь я получаю '-bash: ./vendor/bin/phpunit: Permission denied' –

+0

, но, как и ожидалось, whoami == fileowner (и владелец группы). Это был sf3.0, который я понизил до 2.8, может ли это быть связано? –

+0

, по-видимому, бродячий вопрос ... –

1

Вы должны назвать конкретный двоичный в поставщика бен директории вашего проекта, как

bin/phpunit -h 
+0

thanx для вашего ответа. У меня теперь есть '-bash: ./vendor/bin/phpunit: Permission denied ' –

+0

попробуйте изменить его режим на 766 'chmod -R 766./Vendor/bin' или chown текущему пользователю – rrw

+0

перед изменением всего каталога прав, он сначала попытался выполнить команду sudo, и она тоже не работает: 'sudo./vendor/bin/phpunit' возвращает' command not found' –