2017-09-14 3 views
1

나는 방랑 기계에 설치된 laravel 5.4 프로젝트를 가지고 있으며 그것에 Laravel Dusk 테스트를 만들려고합니다. 조금 까다 롭습니다. 튜토리얼을 여기에 따라갔습니다. http://www.jesusamieiro.com/using-laravel-dusk-with-vagrant-homestead/Laravel Dusk Sessions on

잘 실행되지만 세션 변수가 저장되지 않는 것 같습니다. 게시물 경로에이 코드가 있습니다.

if (!session('user_name')) { 
     $request->session()->flash("message", "Your session expired. Click "Please Confirm" to approve your monthly donation."); 
     return redirect()->back(); 
    } 

이 코드는 페이지를 처음 가져올 때 get 요청시 설정됩니다. 황혼에서이 검사를받습니다.

$browser->visit("http://support.welcome.dev/?layout_id={$layout}&purl={$supporter->purl}&user_name={$supporter->name_first}&amount=10&ct={$hash}") 
       ->press("Please Confirm") 
       ->assertPathIs("/confirm"); 

이 테스트는 실패하고 메시지 세션이 만료 된 상태로 리디렉션됩니다. 그러나 user_name 변수를 확인하는 게시 경로의 코드를 주석 처리 할 때 잘 작동합니다. 원래 코드는 브라우저에서 수동으로 테스트 할 때 작동합니다.

도움을 주시면 감사하겠습니다.

답변

-1
$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'); 
     }); 

이 코드는 https://laravel.com/docs/5.4/dusk에 기록됩니다. 나는 이것이 당신을 도울 수 있다고 생각합니다. =)

+0

아니요, 이건 미친 기계에서 실행되는 laravel dusk의 복잡성 때문에 작동하지 않습니다. 내 코드는 피부에서 작동합니다. 단지 작동하지 않는 부정한 기계에서만 작동합니다. – pseudoanime