2017-10-31 1 views
1

Ich probiere gerade Unit Test auf Laravel 5.5 neu dev install aus. und haben die Erweiterung installiert mit https://github.com/laracasts/IntegratedLaracasts nicht möglich/Integriert in Komponententest

Das ist mein TestCase.php

<?php 

namespace Tests; 
use Laracasts\Integrated\Extensions\Laravel as IntegrationTest; 

abstract class TestCase extends IntegrationTest 
{ 
    use CreatesApplication; 
} 

Dies ist der Fehler ich, wenn ich phpunit laufen

Fatal error: Access level to Laracasts\Integrated\Extensions\Traits\LaravelTestCase::get() must be public (as in class Illuminate\Foundation\Testing\TestCase) 

in C: \ xampp2 \ htdocs \ laradev \ Anbieter \ laracasts \ integriert \ src \ Extensions \ Laravel.php auf Linie 9

Call Stack: 
    0.0010  348128 1. {main}() C:\xampp2\htdocs\laradev\vendor\phpunit\phpunit\phpunit:0 
PHP 13. Composer\Autoload\ClassLoader->loadClass() C:\xampp2\htdocs\laradev\tests\Feature\ExampleTest.php:8 
    0.0550 1862640 2. PHPUnit\TextUI\Command::main() C:\xampp2\htdocs\laradev\vendor\phpunit\phpunit\phpunit:53 
PHP 14. Composer\Autoload\includeFile() C:\xampp2\htdocs\laradev\vendor\composer\ClassLoader.php:322 
PHP 15. include() C:\xampp2\htdocs\laradev\vendor\composer\ClassLoader.php:444 
    0.0550 1867200 3. PHPUnit\TextUI\Command->run() C:\xampp2\htdocs\laradev\vendor\phpunit\phpunit\src\TextUI\Command.php:148 
PHP 16. spl_autoload_call() C:\xampp2\htdocs\laradev\tests\TestCase.php:7 
    0.0550 1867200 4. PHPUnit\TextUI\Command->handleArguments() C:\xampp2\htdocs\laradev\vendor\phpunit\phpunit\src\TextUI\Command.php:159 
PHP 17. Composer\Autoload\ClassLoader->loadClass() C:\xampp2\htdocs\laradev\tests\TestCase.php:7 
    0.0670 2190488 5. PHPUnit\Util\Configuration->getTestSuiteConfiguration() C:\xampp2\htdocs\laradev\vendor\phpunit\phpunit\src\TextUI\Command.php:771 
PHP 18. Composer\Autoload\includeFile() C:\xampp2\htdocs\laradev\vendor\composer\ClassLoader.php:322 
PHP 19. include() C:\xampp2\htdocs\laradev\vendor\composer\ClassLoader.php:444 

Bitte wie kann ich dieses Problem beheben, weil ich nicht in der Lage bin, den Besuch() zu verwenden, siehe() und Typ() Methoden

Dies ist mein Test- enter image description here

Antwort

1

Wie auf Github readme erklärte die meisten dies ist integriert in Laravel Kern.

Siehe Laravel 5.5 Http Tests, wenn Sie mehr benötigen, können Sie Browser kit testing verwenden, oder wenn Sie Browser testen möchten, verwenden Sie Laravel Dusk.

+0

in Ordnung, so dass bedeutet, dass ich nicht die integrierte Klasse rechts erstrecken müssen, da die Syntax und die Methoden nun verschiedene – Mysterio4

+0

richtig ist, nur verbunden Handbücher folgen. Für den Test in Ihrem Screenshot ist der erste Link alles was Sie brauchen. – Bostjan

0

Sie können Browsertests (Laravel Dusk) verwenden, wie Bostjan bei https://laravel.com/docs/5.5/dusk sagte.

Es unterstützt eine Vielzahl von Interaktionen mit Elementen, darunter das Klicken von Links, das Verwenden von Formularen, das Anhängen von Dateien, Tastatur-/Mausoperationen und vieles mehr.

Dies ist ein Beispiel aus der Dämmerung Dokumentation

<?php 

namespace Tests\Browser; 

use App\User; 
use Tests\DuskTestCase; 
use Laravel\Dusk\Chrome; 
use Illuminate\Foundation\Testing\DatabaseMigrations; 

class ExampleTest extends DuskTestCase 
{ 
    use DatabaseMigrations; 

    /** 
    * A basic browser test example. 
    * 
    * @return void 
    */ 
    public function testBasicExample() 
    { 
     $user = factory(User::class)->create([ 
      'email' => '[email protected]', 
     ]); 

     $this->browse(function ($browser) use ($user) { 
      $browser->visit('/login') 
        ->type('email', $user->email) 
        ->type('password', 'secret') 
        ->press('Login') 
        ->assertPathIs('/home'); 
     }); 
    } 
}