2017-09-14 72 views
1

我有一个laravel 5.4项目建立在一个流浪机上,我正在尝试创建Laravel黄昏测试。这是有点棘手,我跟着教程在这里:http://www.jesusamieiro.com/using-laravel-dusk-with-vagrant-homestead/Laravel黄昏会话

它运行良好,但会话变量似乎并没有保存。我在邮政路线中有这个代码

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

并且它在第一次获取页面时设置在获取请求上。我在黄昏时进行了这个测试:

$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变量的p​​ost路径检查中的代码被注释掉时,它工作得很好。当我在浏览器上手动测试时,原始代码有效。

任何帮助表示赞赏。

回答

-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黄昏的复杂情况。我的代码在皮肤上工作,它只是在流浪机器上,它不工作。 – pseudoanime