2016-07-09 14 views
12

Jestem początkującym w środowisku frameworkowym 5.2Laravel - rozumiem, jak działa testowanie

Chcę zrozumieć, jak działa test jednostkowy. Zrobiłem ten test:

public function testPageLogin() 
{ 
    $this->visit('/login') 
    ->see('Connexion'); 
} 

Po uruchomieniu skryptu: wszystko jest w porządku.

Potem zrobiłem tego testu:

$this->visit('/login') 
    ->type('[email protected]', 'email') 
    ->type('toto', 'password') 
    ->check('souvenir') 
    ->press('Connexion') 
    ->seePageIs('/login'); 

oczywiście Fields 'e-mail', 'hasło', 'pamiątka' istnieje na stronie html. A z tymi wartościami strona "login" musi być wyświetlona, ​​ponieważ te wartości nie są znane w DB.

Kiedy uruchomić skrypt, mam awarię

Illuminate \ Zamówienia \ Container \ BindingResolutionException: Cel [Illuminate \ Co ntracts \ Debug \ ExceptionHandler] nie jest chwilowe. w katalogu C: \ wamp \ www \ Ecole \ sprzedawca \ laravel \ Framework \ src \ Illuminate \ Kontener \ Container.php on line 748

pewno muszę zrobić coś źle gdzieś, ale nie wiem gdzie. Każda pomoc zostanie doceniona. Merci.

Dominique

+0

Nadal mam problem. Czy moje pytanie nie było wystarczająco jasne? Nie wahaj się mnie ostrzec, tak właśnie było. dzięki. – Dom

+0

Co oznacza druk "vendor/bin/phpunit --version"? – mpen

Odpowiedz

3

Jest to znany bug ciągu laravel podczas korzystania z nowszej wersji PHPUnit. Wierzę, że ten błąd nadal nie został naprawiony;

https://github.com/laravel/framework/issues/10808

W międzyczasie istnieje pewne poniżej obejścia;

1) Zamiast używać globalnej PHPUnit, użyj *project*/vendor/bin/phpunit.

2) Zmień wersję swojej wersji PHPUnit tak, aby Laravel była z nią kompatybilna, aby to zrobić, uruchom poniższe polecenia;

composer global remove phpunit/phpunit 
composer global require 'phpunit/phpunit=~4.0' 

Mam nadzieję, że to pomoże.

+0

Dzięki za informację. Próbowałem usunąć i zainstalować phpunit 4.0, ale mam problem z tym. Zawsze jest 4.8, który jest uruchamiany. Pracuję nad oknami i lubię to, aby uruchomić mój test: php/phpunit/phpunit/phpunit tests/TestAuthentification.php – Dom

+0

@ user2672338 Niestety, nie mam pojęcia, jeśli chodzi o system Windows. Nie wiem, czy to pomoże http://dustyreagan.com/downgrade-phpunit-3-6-to-3-5-15/#comment-2817 – JayIsTooCommon

+0

Composer ma problemy z obniżeniem wersji do niższych wersji pakietów. Powinieneś najpierw spróbować zmienić chaning 'phpunit' version w' composer.json', usuwając 'vendor /' i 'composer.lock', a następnie uruchamiając' composer install'. – Skysplit