2017-11-24 19 views
0

私のコントローラ用のテストをいくつか書いていますが、私のテストの1つは動作したくないので、修正方法はわかりません。それは検索し、結果をページに戻すことを提案されています。しかし、実際にはホームページに行く。ここに私のコードは次のとおりです。Laravel phpunit testingはパラメータで取得します

use DatabaseMigrations; 
protected $user; 
public function setUp() 
{ 
    parent::setUp(); 

    $this->seed(); 

    $this->user = factory(User::class)->create(['role_id' => 3]); 
} 

/** @test */ 
public function test_manage_search_user() 
{ 
    $response = $this->followingRedirects()->actingAs($this->user)->get('/manage/users/search', [ 
     'choices' => 'username', 
     'search' => $this->user->username, 
    ]); 

    $response->assertViewIs('manage.users'); 
    $response->assertSuccessful(); 
    $response->assertSee($this->user->email); 
} 

あなたが取得することができ、我々は次のようになります必要がありますURL:

http://localhost/manage/users/search?choices=username&search=Test 

私は再度チェックし、それがGETでパラメータを与えられていないように見えます要求。これをどうやって解決できますか?

+0

? –

+0

Laravel 5.5私はこれを行うことができます:$ response = $ this-> followingRedirects() - > actsAs($ this-> user) - > get( '/ manage/users/search?choices = username&search ='。$ this-> user-> username。 '');しかし、それは私がそれをしたいようにきちんとしていません – MrAndre

答えて

0

私はこのようにそれを行うだろう:あなたが使用しているlaravelバージョン

$this->actingAs($this->user); 

$response = $this->get('/manage/users/search', [ 
    'choices' => 'username', 
    'search' => $this->user->username, 
]); 

$response->assertViewIs('manage.users'); 
$response->assertSuccessful(); 
$response->assertSee($this->user->email); 
+0

私の問題は、それとパラメータを与えていないということです。 これは、$ this-> followingRedirects() - > actsAs($ this-> user) - > get( '/ ma nage/users/search?ch oices = username&searc h ='。 $ this-> user-> rnameを使用してください。どのようにそれはきちんと見てdoens't – MrAndre

+0

私はどのように検索方法でパラメータを取得しているか尋ねることがありますか? –

+0

現在、私は$ request-> get( 'choices')でそれらを手に入れることができます。例えば、 – MrAndre

関連する問題