2017-03-07 12 views
0

私は新しいlaravel 5.4プロジェクトを作成しました。機能\のUserTest \未定義のメソッド・テストを呼び出します。 アクセプタンステストメソッドvisit undefined

は、私はその後

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()

別のコンポーネントをインストールする必要があるかどうかわかりません。これは私のcomposer.jsonが

{ 
    "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

どのように見えるか、組み込みのデフォルトでLaravel 5.4で何visit方法はありませんあなたは(アクションを実行するためにgetを実行する必要があるが、それは同じように動作していないに注意してください。おそらくリダイレ​​クトは行われません)。

古い動作を使用する場合は、今すぐ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