2017-03-07 6 views
0

인증을 통해 새로운 laravel 5.4 프로젝트를 만들었습니다. 기능 \의 UserTest \ 정의되지 않은 메서드 테스트에 전화 : 수용 테스트 메소드를 방문하지 않았습니다.

나는 다음

public function test_login() 
    { 
    $user = factory(\App\User::class)->make(); 
    $user->save(); 
    $this->visit('/login') 
    ->type($user->email,'email') 
    ->type($user->password,'password') 
    ->press('login');; 
    $this->seePageIs('/dashboard'); 
    } 

을 다음하지만 난 테스트를 실행할 때 내가

오류가 같다 로그인 프로세스에 대한 기능 테스트를 만들었습니다 : : visit()

다른 구성 요소를 설치해야하는지 확실하지 않습니다. 이

{ 
    "name": "laravel/laravel", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "type": "project", 
    "require": { 
     "php": ">=5.6.4", 
     "laravel/dusk": "^1.0", 
     "laravel/framework": "5.4.*", 
     "laravel/tinker": "~1.0" 
    }, 
    "require-dev": { 
     "fzaninotto/faker": "~1.4", 
     "mockery/mockery": "0.9.*", 
     "phpunit/phpunit": "~5.7" 

    }, 
    "autoload": { 
     "classmap": [ 
      "database" 
     ], 
     "psr-4": { 
      "App\\": "app/" 
     } 
    }, 
    "autoload-dev": { 
     "psr-4": { 
      "Tests\\": "tests/" 
     } 
    }, 
    "scripts": { 
     "post-root-package-install": [ 
      "php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 
     ], 
     "post-create-project-cmd": [ 
      "php artisan key:generate" 
     ], 
     "post-install-cmd": [ 
      "Illuminate\\Foundation\\ComposerScripts::postInstall", 
      "php artisan optimize" 
     ], 
     "post-update-cmd": [ 
      "Illuminate\\Foundation\\ComposerScripts::postUpdate", 
      "php artisan optimize" 
     ] 
    }, 
    "config": { 
     "preferred-install": "dist", 
     "sort-packages": true 
    } 
} 
+0

당신은'\를 분명히 \ 재단 \ 테스트 \ TestCase'를 확장 적이 있습니까? –

답변

10

가있다처럼 내 composer.json는 모습입니다없는 당신은 (행동을 실행하기 위해 get을 실행하지만이 같은 작동하지 않습니다 유의하시기 바랍니다 필요가 내장 기본적으로 Laravel 5.4 visit 방법 아마 아무 방향 전환도 지켜지지 않는다).

이전 동작을 사용하려는 경우 지금은 Laravel 브라우저 키트를 사용할 수 있습니다.

composer require laravel/browser-kit-testing 

당신은 마이그레이션 가이드에 대한 자세한 내용을보실 수 있습니다 : 당신이 전체 브라우저를 실행하는 Laravel Dusk를 사용할 수있는 또 다른 대안으로

https://laravel.com/docs/5.4/upgrade#upgrade-5.4.0이 테스트

+1

아 설명해. 감사. – JaChNo

3

visitsee 옵션 1

방법은 더 이상 Laravel 5.4에서 더 이상 작동하지 않습니다. Laravel Dusk 패키지를 설치해야합니다.

composer require --dev laravel/dusk 

php artisan dusk:install 

그래서 당신은 각각 visitassertSee 방법을 사용할 수 있습니다.

For more info refer to laravel documentation Laravel Dusk Documentation

옵션 2

때때로 당신이 이미 작성한 테스트 케이스 및 다음 바로이 패키지를 설치 그와 함께 엉망으로하지 않습니다. 최소한의 구성 만 필요합니다.

composer require laravel/browser-kit-testing --dev 

For more info refer Laravel Browserkit Testing