2015-04-08 16 views
6

Właśnie zainstalowałem nowy projekt Laravel 5, mój pierwszy w tej wersji. PHPUnit ma być nieobsługiwany przez framework i każdy samouczek, który widziałem, wystarczy wpisać w katalogu projektu, aby uruchomić testy jednostek.PHPUnit nie działa z Laravel 5

Sprawdziłem i PHPUnit jest w composer.json, ja też zrobiłem composer install i composer update na wszelki wypadek nie byłoby tutaj

website(master)$ composer update 
Loading composer repositories with package information 
Updating dependencies (including require-dev) 
    - Removing phpunit/phpunit (4.6.1) 
    - Installing phpunit/phpunit (4.6.2) 
    Downloading: 100% 

Ale to po prostu nie działa phpunit nie jest rozpoznawany w ogóle

website(master)$ phpunit 
-bash: phpunit: command not found 

Wydaje się, że nikt nie ma tego problemu przed tym, jak go wyszukałem. Mam nadzieję, że nie popełnię żadnego głupiego błędu. Masz pomysł lub sugestię? Dzięki chłopaki;)

+6

'/ vendor/bin/phpunit' – zerkms

+0

w porządku, dziękuję, że było dość głupie, ale w końcu jestem pewien niektórzy ludzie robiliby to samo ^^ – Laurent

+1

@ Laurent nie jest niczym niezwykłym, że PHPUnit jest zainstalowany globalnie w twoim systemie, więc możesz uruchomić 'phpunit' z dowolnego miejsca. – Phil

Odpowiedz

26

Nie zainstalowałem PHPUnit globalnie i nie zdefiniowałem ścieżki. Więc dla każdego, kto będzie miał ten sam problem:

composer global require phpunit/phpunit 
composer global require phpunit/dbunit 

Następnie należy dodać to do ciebie ~/.bash_profile lub ~/.profile

export PATH=~/.composer/vendor/bin:$PATH 
+0

To działa, dziękuję. –

+0

Dla każdego, kto korzysta z phpunit na całym świecie: czy to podejście ma wadę polegającą na testowaniu zawsze z tą samą wersją phpunit VS testowania z tą zdefiniowaną przez plik composer.json projektu (jako odpowiedź stanów atul_systematix)? Czy nie jest to naprawdę problem? –

0

Uwzględnij tę linię na composer.json

"phpunit/phpunit": "4.0.*", 

Run aktualizacji kompozytor . Powinieneś być w stanie uruchomić następujące polecenie na swoim katalogu Laravel.

vendor/bin/phpunit 
6

Dzieje się tak, gdy nie masz zainstalowanego globalnego urządzenia phpunit.

Run to polecenie, aby korzystać z wersji lokalnej (z zainstalowaną kompozytora).

vendor/bin/phpunit 
+4

Chociaż ten fragment kodu może rozwiązać pytanie, [w tym wyjaśnienie] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-ans -answers) naprawdę pomaga poprawić jakość twojego posta. Pamiętaj, że odpowiadasz na pytanie przeznaczone dla czytelników w przyszłości, a te osoby mogą nie znać powodów sugestii dotyczących kodu. – DimaSan